构造函数初始化问题
看代码:
类A比较复杂,在构造函数初始化列表中,初始化了自己的成员变量m_Data,mc,还要以自己的本身初始化mB;
编译器会warning,如何改变代码才能没有warning呢?(PS:不要试图去修改ClassB,如果木有必要的话)。
class ClassA
{
public:
ClassA(int aData):m_Data(aData),mC(aData),mB(mC,*this)
private:
ClassC mC;
ClassB mB;
int m_Data;
};类A比较复杂,在构造函数初始化列表中,初始化了自己的成员变量m_Data,mc,还要以自己的本身初始化mB;
编译器会warning,如何改变代码才能没有warning呢?(PS:不要试图去修改ClassB,如果木有必要的话)。
...全文
相关推荐
浅谈c++构造函数问题,初始化和赋值问题
C++中的构造函数是类的一个特殊函数,它的主要任务是在对象创建时初始化其成员变量。本文将深入探讨构造函数的两个重要方面:默认构造函数和初始化与赋值的问题。
C++构造函数与初始化指南[项目源码]
然而,在使用委托构造函数时,需要考虑构造函数的调用顺序和可能引发的循环依赖问题。初始化顺序是另一个需要特别注意的方面,尤其是在含有继承关系的类中。
C++构造函数初始化列表详解[项目源码]
这些示例不仅涵盖了基础用法,还包括了一些高级技巧,如继承场景下基类和派生类成员变量的初始化顺序问题,以及异常安全性的考虑。
继承类的构造函数
在设计派生类的构造函数时,不仅要考虑派生类所增加的数据成员的初始化,还应当考虑基类的数据成员初始化。解决这个问题的思路是,在执行派生类的构造函数时,调用基类的构造函数。
C++的构造函数总结
默认拷贝构造函数执行的是按位复制,但可能存在浅拷贝问题,可能导致资源管理错误。为避免这类问题,需要自定义拷贝构造函数实现深拷贝。在编写构造函数时,应遵循以下最佳实践:1.


