首页 > 代码库 > C++中组合和继承的初始化
C++中组合和继承的初始化
在C++中单个类的初始化比较简单就略过不说。
当一个类继承了另外一个类,或者是一个类中还存在一个类
class A{
、、、
};
class B
{
、、、
};
class C:classA{
private:
B bb;
int x
public:
C(int ii):B(ii),bb(ii) ,x(ii){};
};
此时我们进行初始化的设置采用的 C(int ii):B(ii),bb(ii), x(ii)这里必须说清楚的有几点:
1.参数是通过C(int ii)向冒号之后的类或者是变量传递的。
2.冒号后面的类或者是变量用逗号隔开
3.C(int ii)中的参数必须和冒号之后一致。这里是ii
4.继承的类用的B(ii)且在B(ii)在类B中一定要有定义
5.包含的类用的是类定义的对象,这里类定义的对象是bb所以是bb(ii)但是在B中也一定要有B(int )的定义
具体举例如下:
#include<iostream> using namespace std; class X{ private : int i; public: X(int ii):i(ii){ }; void print() { cout<<i<<endl; } }; class Y{ private: int a; public: Y(int ii):a(ii){ }; void print() { cout<<a<<endl; } }; class Z:public Y{ private: int i; X xx; public: Z(int ii):Y(ii),xx(ii),i(ii){ }; void print() { cout<<i<<endl; Y::print(); xx.print(); } }; int main() { Z zzz(23); zzz.print(); return 0; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。