您的位置:首页 > 编程语言 > C语言/C++

怎样构造一个正确高效的C++的类的构造函数

2014-03-03 17:01 309 查看
推荐一本C++经典好书:effetive c++,该篇文章部分来源于该书

类的构造函数看似简单,实则很有玄机,在构造一个类的构造函数时,只要遵循以下几步,便可以建立出一个正确的高效的构造函数:

1.了解C++编译器默默编写并调用了哪些函数,若不想使用编译器自动生成的函数, 就该明确拒绝(effctive c++条款5,6)

2.定义的构造函数不能指定其返回值的类型,也不能指定为void类型。

3.若要用类定义对象,则构造函数必须是公有型成员函数,否则类无法实例化。

若类仅用于派生其他类,则构造函数可定义为保护型成员函数(1.为什么private不行?我理解的是只用作一次派生是可以的,

但用作两次派生就不可以了, 因为若派生两次后,私有成员就没法再被访问了,也即基类的构造函数无法被调用了)。

4.倘若有指针型成员变量,则要对拷贝构造函数进行重写(见我的另一篇文章:“若类中有指针型数据成员,类的几个函数的重写”)

5..当构造函数重载或设定构造函数默认形参时,要注意避免出现二义性。

6..构造函数最好使用成员初始值列表,而不要在构造函数内使用赋值操作

7..考虑是不是要把构造函数设置为explict特性

8.决不在构造函数和析构过程中调用virtual函数

9.倘若是派生类的构造函数,则考虑是(1)用初始化成员列表值的形式调用特定的基类的构造函数还是(2)不提供初始化列表,默认调用基类的默认隐式构造函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐