C++
C++
的特性
的特性
构造函数
构造函数
1
1
、构造函数的作用是对对象本身做初始化工作,也就是给用户提供初
、构造函数的作用是对对象本身做初始化工作,也就是给用户提供初
始化类中成员变量的一种方式,在类对象有虚表的情况下,构造函数
始化类中成员变量的一种方式,在类对象有虚表的情况下,构造函数
还对虚表进行初始化。
还对虚表进行初始化。
2
2
、如果一个类中没有定义任何的构造函数,那么编译器只有在以下三
、如果一个类中没有定义任何的构造函数,那么编译器只有在以下三
种情况,才会提供默认的构造函数:
种情况,才会提供默认的构造函数:
A
A
、如果类有虚拟成员函数或者虚拟继承父类(即有虚拟基类)时;
、如果类有虚拟成员函数或者虚拟继承父类(即有虚拟基类)时;
B
B
、如果类的基类有构造函数(可以是用户定义的构造函数,或编译器提
、如果类的基类有构造函数(可以是用户定义的构造函数,或编译器提
供的默认构造函数);
供的默认构造函数);
C
C
、在类中的所有非静态的对象数据成员,它们对应的类中有构造函数
、在类中的所有非静态的对象数据成员,它们对应的类中有构造函数
(可以是用户定义的构造函数,或编译器提供的默认构造函数)。
(可以是用户定义的构造函数,或编译器提供的默认构造函数)。
http://www.sunxin.org