每个类都有构造函数和析构函数。如果程序员没有编写这些成员函数,C++将自动生成他们。
1、class::class()
默认的构造函数。
如果没有定义其它的构造函数就会自动生成。生成的代码使用随机值填充类的数据成员。
当类的变量不带参数时就会被自动调用,如:
class_type var;
2、class::class(const class& old_class)
copy构造函数。
除非程序员显式定义copy构造函数否则就会自动生成它。函数将原来类中的所有数据成员复制到新的类中。
创建一个变量的副本时会自动调用这个成员函数:
class_type first_var;
class_type second_var(first_var);
注意:如果不让编译器自动调用copy构造函数,可将它声明为private。
3、class::~class()
析构函数。
除非程序员定义一个析构函数,否则就会自动生成。
销毁变量时会自动调用析构函数,对于自动变量,这出现在变量定义块的结尾部分。全局和静态变量是在程序退出时被销毁的。
4、class class::operator = (const class& old_class)
赋值操作符,自动生成来处理一个对象到另一个对象的赋值。