随笔分类 -  构造函数

摘要:什么时候用拷贝构造函数,和赋值构造函数: (一)当用一个已初始化过了的自定义类类型对象去初始化另一个新构造的对象的时候,拷贝构造函数就会被自动调用。也就是说,当类的对象需要拷贝时,拷贝构造函数将会被调用。以下情况都会调用拷贝构造函数:一个对象以值传递的方式传入函数体 一个对象以值传递的方式从函数返回 一个对象需要通过另外一个对象进行初始化。 如果在类中没有显式地声明一个拷贝构造函数,那么,编译器将会自动生成一个默认的拷贝构造函数,该构造函数完成对象之间的位拷贝。位拷贝又称浅拷贝,后面将进行说明。 自定义拷贝构造函数是一种良好的编程风格,它可以阻止编译器形成默认的拷贝构造函数,提高源码效率。 . 阅读全文
posted @ 2012-11-12 15:43 byfei 阅读(320) 评论(0) 推荐(0) 编辑
摘要:一、先执行静态成员的构造函数,如果静态成员只是在类定义中声明了,而没有实现,是不用构造的。必须初始化后才执行其构造函数。二、任何抽象基类的构造函数按照它们被继承的顺序构造(不是初始化列表中的顺序)三、任何虚拟基类的构造函数按照它们被继承的顺序构造(不是初始化列表中的顺序)四、任何非虚拟基类的构造函数按照它们被继承的顺序构造(不是初始化列表中的顺序)五、任何成员对象的构造函数按照它们声明的顺序构造六、类自己的构造函数C++为类中提供类成员的初始化列表类对象的构造顺序是这样的:1.分配内存,调用构造函数时,隐式/显示的初始化各数据成员2.进入构造函数后在构造函数中执行一般计算 1.类里面的任何成员 阅读全文
posted @ 2012-09-17 14:47 byfei 阅读(1461) 评论(0) 推荐(0) 编辑