摘要:
**********************类数据成员************************class Task{public:private:static unsigned n;};unsigned Task::n = 0;//static 数据成员必须在任何程序块之外定义。由于n是静态的,它对整个Task类而言只有一个,而不是每个Task对象都有一个n.***************... 阅读全文
摘要:
当使用动态方式为一个对象分配存储空间时,C++使用new比c函数中的malloc,calloc做的更好。因为new和new[]在分配存储空间的同时,还调用相应的构造函数,而malloc和calloc无法完成这个任务*************************析构函数不带参数,所以不能被重载。 阅读全文
摘要:
class c{public :c() : c(0) { x = -1;}private:int x;const int c;}初始化顺序完全取决于它们在类当中声明的次序。此例中x的初始化顺序在c 的前面。 阅读全文
摘要:
拷贝构造函数创建一个新的对象,此对象是另一个对象的拷贝品。要注意两点:第一,拷贝构造函数的原型是引用,如Person(Person &);Person(const Person &);第二,拷贝构造函数可以有多于一个的参数,但第一个以后的所有参数都必须有默认值Person(const Person & p,bool married = false);(第一个参数可以无默认值... 阅读全文
摘要:
顶层函数进行操作符重载C operator + (const C& c1,const C & c2) {...}省略了域名和类解析符操作符重载直接作为类的构造函数Complex Complex::operator + (const Complex& u) const {...}只要定义了可用于转型的构造函数,使用顶层函数进行重载的一个优点就是非对象操作数可以出现在操作符的左... 阅读全文
摘要:
拷贝构造函数是一种特殊的构造函数,函数的名称必须和类名称一致,它的唯一的一个参数是本类型的一个引用变量,该参数是const类型,不可变的。例如:类X的拷贝构造函数的形式为X(X& x)。 当用一个已初始化过了的自定义类类型对象去初始化另一个新构造的对象的时候,拷贝构造函数就会被自动调用。也就是说,当类的对象需要拷贝时,拷贝构造函数将会被调用。以下情况都会调用拷贝构造函数: 一个对象以值... 阅读全文