c++继承时的构造函数

来源:互联网 发布:淘宝直播怎么申请视频 编辑:程序博客网 时间:2024/06/06 08:35

1。单继承时构造函数

派生类名::派生类名(基类所需的形参,本类成员所需的形参):基类名(参数)

{本类成员初始化赋值语句;};

2。多继承时构造函数

派生类名::派生类名(基类1形参,基类2形参,。。。。基类n形参,本类形参):基类名1(参数),基类名2(参数),。。。。基类名n(参数)

{本类成员初始化赋值语句;};

3。多继承且有内嵌对象时构造函数

派生类名::派生类名(基类1形参,基类2形参,。。。。基类n形参,本类形参):基类名1(参数),基类名2(参数),。。。。基类名n(参数),对象数据成员的初始化

{本类成员初始化赋值语句;};

#include<iostream>//单继承时构造函数#include<string>using namespace std;class student{protected:string name;int age;char sex;public:student(string strname,int iage,char csex){name=strname;age=iage;sex=csex;}};class enhancedstudent:public student{private:string address;string tel;public:enhancedstudent(string strname,int age,char csex,string straddress,string strtel):student(strname,age,csex){address=straddress;tel=strtel;}void showstudent(){cout<<name<<endl;cout<<age<<endl;cout<<sex<<endl;cout<<address<<endl;cout<<tel<<endl;}};int main(){enhancedstudent s1("zhang san",29,'f',"beijing","13718599102");enhancedstudent s2("li si",37,'m',"tianjing","13651095416");s1.showstudent();s2.showstudent();return 0;}

#include<iostream>//多继承时构造函数#include<string>using namespace std;class T1{private:int x;int y;public:T1(int ix,int iy){x=ix;y=iy;}int getx(){return x;}int gety(){return y;}};class T2{private:int w;int z;public:T2(int iw,int iz){w=iw;z=iz;}int getw(){return w;}int getz(){return z;}};class T_ALL:public T1,public T2{private:int n;public:T_ALL(int tx,int ty,int tw,int tz,int tn):T1(tx,ty),T2(tw,tz){n=tn;}int getn(){return n;}void showall(){cout<<getx()<<endl;cout<<gety()<<endl;cout<<getw()<<endl;cout<<getz()<<endl;cout<<getn()<<endl;}};int main(){T_ALL all1(1,2,3,4,5);cout<<all1.getx()<<endl;cout<<all1.gety()<<endl;cout<<all1.getw()<<endl;cout<<all1.getz()<<endl;cout<<all1.getn()<<endl;cout<<"==================="<<endl;all1.showall();return 0;}

#include<iostream>using namespace std;class A{public:int x,q;A(int ix,int iq){x=ix;q=iq;}};class B{public:int y;B(int iy){y=iy;}};class C:public A,public B{public:A a;B b;int m;public:C(int ix,int iq,int iy,int w,int oo,int z,int im):A(ix,iq),B(iy),a(w,oo),b(z){m=im;}};int main(){C c(1,2,3,4,5,6,7);cout<<c.x<<endl;cout<<c.q<<endl;cout<<c.m;//cout<<c.A;return 0;}