C++知识总结(15)

66 一个空类会默认生成哪些成员

1. 无参的构造函数Empty(){}

2. 拷贝构造函数Empty(constEmpty©){}

3. 赋值运算符Empty&operator= (constEmpty©){}

4. 析构函数(非虚)~Empty(){}这些函数只有在第一次使用它们的时候才会生成,他们都是inline并且public的。如果想禁止生成这些函数,可以将它们定义成private函数,如果有很多类都有这种需求,那么可以定义一个基类,然后让其他类继承这个类

 

67 构造函数的调用顺序是什么?

1.先调用基类构造函数  

2.按声明顺序初始化数据成员  

3.最后调用自己的构造函数

68 拷贝构造函数与赋值运算符的区别

1.当类的一个对象去初始化该类的另一个对象时;  

2.如果函数的形参是类的对象,调用函数进行形参和实参结合时;  

3.如果函数的返回值是类对象,函数调用完成返回时

 

69拷贝构造函数在哪几种情况下会被调用?

1.当类的一个对象去初始化该类的另一个对象时

2.如果函数的形参是类的对象,调用函数时,形参与实参结合时

3.如果函数的返回值是类的对象,函数执行完成返回调用着时

70什么时候必须重写拷贝构造函数?  

类成员变量中有指针时,当构造函数涉及到动态存储分配空间时,要自己写拷贝构造函数,并且要深拷贝

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值