天天看點

對派生類的初始化

對派生類的初始化,從派生類的構造函數開始用初始式進行初始化。

初始式的格式:

派生類的構造函數(參數表):基類構造函數(參數表),對象成員(參數表)...普通成員(初始值)。

<b>初始式的存在意義是,1.可以給帶參數的類成員變量賦初值。2.效率問題,(水準不夠暫且擱置)</b>

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&lt;&lt;"data1="&lt;&lt;data1&lt;&lt;",data2="&lt;&lt;data2&lt;&lt;endl;

};

class derived_class:private parent_class{

int data3;

parent_class data4;//對象成員

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

parent_class::display();

data4.display();

cout&lt;&lt;"data3="&lt;&lt;data3&lt;&lt;endl;

int main(){

derived_class d1(17,18,1,2,-5);

d1.inc1();

d1.display();

return 0;

本文轉自 神迹難覓 51CTO部落格,原文連結:http://blog.51cto.com/ji123/1916432,如需轉載請自行聯系原作者