您的位置:首页 > 编程语言 > C语言/C++

C++中组合和继承的初始化

2015-08-25 13:45 330 查看

在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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: