摘要:
问题: C++中的类可以定义多个对象,那么对象的构造顺序是怎么样的? 对象的构造顺序一: 示例如下: 运行结果如下: 添加上goto语句,运行结果如下: 引入goto使得30-37行的程序被跳过,因此a对象就不会被构造了。 执行流和局部对象的构造息息相关。 非法改变程序的执行流,可能引起灾难性的错误 阅读全文
摘要:
类中是否可以定义const成员? 小实验: 类中的const成员实验: 编译结果如下: 可以看到用这个类定义一个对象时,const成员必须要初始化。但是这个初始化不能在构造函数中去做。 因为ci是只读变量,只读变量是不能出现在赋值符号的左边的,所以第10行会报错。编译器提示我们要在第八行进行初始化, 阅读全文
摘要:
特殊的构造函数: 示例如下: 17-24行就是编译器替我们提供的默认构造函数和拷贝构造函数。 运行结果如下: 可以看到t1和t2中i和j的值是一样的。 当我们的类中没有编写任何的构造函数时,编译器才会给我们提供默认的构造函数,拷贝构造函数是构造函数的一种。 拷贝构造函数: 兼容C语言的方式类似于 T 阅读全文