C++中类的构造函数常用知识点

来源:互联网 发布:快手直播是什么软件 编辑:程序博客网 时间:2024/06/06 14:01

C++中,类的构造函数也是类中的特殊成员函数,只是没有返回值。在程序中,只要创建类类型的新对象,都会执行构造函数,保证了对象的每个成员都具有合适的初始值。类的构造函数有以下几个特点。

第一,构造函数也可以被重载。与普通的函数一样,构造函数也可以被重载,构造函数没有返回值,是通过实参的个数和类型来决定。

class Student{public:Student();Student(int StuNum);Student(string ID);};

第二,构造函数自动执行,只要创建一个对象的实例,就会调用合适的构造函数。如果没有适用的构造函数,编译器就会报错。

与其他函数一样,构造函数也具有名字,形参和函数体,当然,与普通函数不同的是,构造函数可以包含一个初始化列表。

Student::Student():sex("Man"),age(20){}

构造函数初始化列表以一个冒号为开始,接着通过逗号对成员列表进行分离。在C++中,很多相当有丰富经验的程序员都没有掌握到这个特性,我觉得一个重要的原因就是在函数体外对类的成员进行初始化是很难理解的。

还有一个很重要的一点就是在构造函数中对类成员的初始化顺序,我们很容易就理解成根据初始化列表中对成员变量的初始化顺序来对成员变量进行初始化,但实际上不是,就拿这个Student类的第一个构造函数来说吧,初始化的顺序应该是sex然后才是age,但是实际上是反的,因为构造函数初始化列表中成员变量的初始化是根据成员变量的声明顺利来确定的。


原创粉丝点击