C++ 之头文件依赖和引用类型的成员变量

#ifndef CHILDCLASS_H

#define CHILDCLASS_H

class BaseClass;
class ChildClass // : public BaseClass  1 需要引入头文件
{
public:
    ChildClass(BaseClass oBase);
    BaseClass getBaseClass(BaseClass oBase);
private:
    BaseClass *m_pBase; // 1 不需要引入头文件
    BaseClass &m_refBase; // 2 不需要引入头文件
    static BaseClass m_gBase; // 3 不需要引入头文件

   // BaseClass m_oBase;   2 需要引入头文件
};

#endif // CHILDCLASS_H

引用类型成员变量的初始化:

     1,不能直接在构造函数里初始化,必须用到初始化列表,且形参也必须是引用类型。

     2,凡是有引用类型的成员变量的类,不能有缺省构造函数。原因是引用类型的成员变量必须在类构造时进行初始化。
     3,如果两个类要对第三个类的数据进行共享处理,可以考虑把第三个类作为这两个类的引用类型的成员变量。



posted on 2021-09-02 20:10  奔跑吧,蜗牛!  阅读(196)  评论(0编辑  收藏  举报

导航