首页 > 代码库 > c++,类的组合
c++,类的组合
1. 在A类中以B类的对象作为成员变量,称为类的组合(composition)。
2. 在组合时,一般在A类的构造函数初始化列表中要初始化B类(会调用B类的一个构造函数),
如果没有初始化B类,则会调用B类中可以不传参数的构造函数。
#include <iostream>using namespace std;#include <string>//--------------------------------------class A{public: int m_ax ; int m_ay ; A(); A(int val,int vy);};A::A(){}A::A(int vx,int vy){ this->m_ax = vx; this->m_ay = vy;}//--------------------------------------class B{public: int m_bx ; B(); B(int val);};B::B(){}B::B(int val){ this->m_bx = val;}//--------------------------------------class C{public: A ac; B bc; C(); C(int vax,int vay,int vbx ); C(int vax ,int vay); C(int vbx) ; void show();};C::C(){}C::C(int vax ,int vay,int vbx) :ac(vax,vay),bc(vbx){}C::C(int vax ,int vay) :ac(vax,vay){}
C::C(int vbx):bc(vbx)//没有初始化的内部类对象,可以不写出来 ,也可以写出来ac()。 C::C(int vbx):bc(vbx),ac()
{}void C::show(){ cout<<"ac.m_ax = "<<ac.m_ax<<endl; cout<<"ac.m_ay = "<<ac.m_ay<<endl; cout<<"bc.m_bx = "<<bc.m_bx<<endl;}//--------------------------------------int main(){ C c1(1 ,2 ,3 ); c1.show(); while(1); return 0 ;}// ac.m_ax = 1// ac.m_ay = 2// bc.m_bx = 3
c++,类的组合
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。