您好,登錄后才能下訂單哦!
對派生類的初始化,從派生類的構造函數開始用初始式進行初始化。
初始式的格式:
派生類的構造函數(參數表):基類構造函數(參數表),對象成員(參數表)...普通成員(初始值)。
初始式的存在意義是,1.可以給帶參數的類成員變量賦初值。2.效率問題,(水平不夠暫且擱置)
class parent_class{
int data1,data2;
public:
parent_class(int p1 ,int p2){data1=p1;data2=p2;}
int inc1(){
return ++data1;
}
int inc2(){
return ++data2;
}
void display(){
cout<<"data1="<<data1<<",data2="<<data2<<endl;
}
};
class derived_class:private parent_class{
int data3;
parent_class data4;//對象成員
public:
derived_class(int p1,int p2,int p3,int p4,int p5):
parent_class(p1,p2),data4(p3,p4),data3(p5){//對派生類的初始化過程
// data3=p5;
}
int inc1(){ return parent_class::inc1();}
int inc3(){ return ++data3;}
void display(){
parent_class::display();
data4.display();
cout<<"data3="<<data3<<endl;
}
};
int main(){
derived_class d1(17,18,1,2,-5);
d1.inc1();
d1.display();
return 0;
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。