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;
}