在学习这一章内容前我们已经学习过了类的构造函数和析构函数的相关知识,对于普通类型的对象来说,他们之间的复制是很简单的,例如: int a = 10; int b =a; 自己定义的类的对象同样是对象,谁也不能阻止我们用以下的方式进行复制,例如: #include iostream using namespace ...
class A { A(int x);//A的构造函数 }; class B { B(int x, int y);//B的构造函数 }; B::B(int x, int y) :A(x) //在初始化表里调用A的构造函数 { } 上述为: (1)如果类存在继承关系,派生类必须在其初始化表里调用基类的构造函数。 (2)类的const常量只能 ...
http://blog.pfan.cn/goal00001111/10945.html 在前面的例程中,我们对成员数据的初始化,都是在函数体中进行的,但有些情况下这种初始化的方法是行不通的,例如: #include iostream using namespace std; class Date{ int da, mo; const int yr;//const常量 public: Date(int d, int m, ...
类的构造函数、析构函数与赋值函数 1)对于任意一个类A,如果不想编写构造函数、析构函数与赋值函数,C++编译器将会自动为A产生四个缺省的函数,如:缺省的无参数构造函数A(void);缺省的拷贝构造函数A(const A a);缺省的析构函数~A(void);缺省的赋值函数A perate=(const A a); 2)为什么还要程序员编写函数呢?原因如下 ...