string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的st...
分类:
其他好文 时间:
2014-08-23 20:14:41
阅读次数:
200
小记:运行环境:vs 2013c++win32 consoleapplication#include "stdafx.h"#include #include using namespace std;class A{public: A(){ cout << "A::A()" << endl; } .....
分类:
其他好文 时间:
2014-08-23 15:17:00
阅读次数:
216
C++允许模版化类中的单个方法,这些方法可以在一个类模版中,也可以在一个非模版化的类中。
在编写一个模版化的类方法时,实际上是为不同类型编写不同版本的方法,在类模版中,方法模版对赋值运算符和复制构造函数非常有用。
要注意的是,不能用方法模版编写虚方法和析构函数。
1.一个普通类中的方法模版例子:
#include
using namespace std;
class man{
priva...
分类:
编程语言 时间:
2014-08-20 12:39:22
阅读次数:
261
首先,复制构造函数本质还是构造函数,只不过是什么时候使用不同,通常在复制初始化的时候调用(直接初始化也有可能调用,后面再提)。定义:复制构造函数只有单个对本类对象引用的形参(常用const修饰)。class Test(){public: Test(const Test& t) {}};strin.....
分类:
其他好文 时间:
2014-08-13 14:27:17
阅读次数:
196
1、ClassTest ct1("ab");这条语句属于直接初始化,它不需要调用复制构造函数,直接调用构造函数ClassTest(const char *pc),所以当复制构造函数变为私有时,它还是能直接执行的。2、ClassTest ct2 = "ab";这条语句为复制初始化,它首先调用构造函数C...
分类:
其他好文 时间:
2014-08-11 17:11:42
阅读次数:
149
记得在复制构造函数和赋值操作符的参数类型上加上const.正确的复制构造函数应该是X::X(const X&)这种,而不是X::X(X&)这种,这里有两个原因.第一:绑定一个非const引用到一个临时对象是非法的.使用X::X(X&)作为复制构造函数不会允许复制任何特殊表达式的结果.为什么呢.?因为...
分类:
其他好文 时间:
2014-08-10 15:18:30
阅读次数:
195
is-a关系 类包含关系
构造函数 复制构造函数 重载赋值操作符 析构函数
动态内存空间分配和释放 new delete操作
static 数据成员
友元函数 重载输入>>和输出<<操作符...
分类:
编程语言 时间:
2014-07-31 00:01:45
阅读次数:
439
string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。当构造的st...
分类:
编程语言 时间:
2014-07-28 13:49:30
阅读次数:
251
#ifndef QUEUE_HPP
#define QUEUE_HPP
#include
#include
template class Queue;
template
class Node{
friend class Queue;
public:
Node(T data = 0, Node *next = NULL)
:data...
分类:
其他好文 时间:
2014-07-23 00:05:17
阅读次数:
338
1 class Widget{ 2 3 Widget(); //默认构造函数 4 5 Widget(const Widget& rhs); //复制构造函数 6 7 Widget& operator= (const Widget& rhs);//...
分类:
其他好文 时间:
2014-07-18 20:30:16
阅读次数:
226