【读书笔记】C++编程管用法——第二章 类

2.1 构造函数

2.2.1 复制构造函数的行为是否符合我们的要求?

        对那些包含指针的类要另眼相待。如果被指向的对象是“属于”该产生的对象,那么缺省的复制构造函数就有可能是错误的,因为他只是简单的复制了指针而不是指针所指向的对象。

2.1.2 复制构造函数不可忽略

        复制构造函数只有单个形参,而且该形参是对本类类型对象的引用(常用const修饰),这样的构造函数称为复制构造函数。与默认构造函数一样,复制构造函数可由编译器隐式调用。

        如果确实因为某些原因,使得为类实现复制构造函数变得非常困难,那么请把它声明为私有的,并且不要为它提供任何定义。

2.1.3 当类中的某个数据成员本身也是一个类对象时,我们应该避免使用赋值操作来为该成员进行初始化。

        由于一个类中成员的初始化顺序和它们在类中被声明的顺序(而不是构造函数定义中初始化体的顺序)必须是一致的。通常情况下不会有什么问题,但是在某些场合下,他将导致问题的产生——例如:某个成员的初始化过程中使用了另外成员的值。

(持续修改中)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值