計(jì)算機(jī)課件 繼承_第1頁
計(jì)算機(jī)課件 繼承_第2頁
計(jì)算機(jī)課件 繼承_第3頁
計(jì)算機(jī)課件 繼承_第4頁
計(jì)算機(jī)課件 繼承_第5頁
已閱讀5頁,還剩112頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第7章繼承

得甯孑工學(xué)出版杜

?—??=?PublishingHouseofElectronicsIndustry

7.1類之間的關(guān)系

has-A,uses-A和is-A

has-A包含關(guān)系,用以描述一個(gè)類由多個(gè)“部件類”構(gòu)成。實(shí)現(xiàn)has-A

關(guān)系用類成員表示,即一個(gè)類中的數(shù)據(jù)成員是另一種已經(jīng)定義的類。

uses-A一個(gè)類部分地使用另一個(gè)類。通過類之間成員函數(shù)的相互聯(lián)

系,定義友員或?qū)ο髤?shù)傳遞實(shí)現(xiàn)。

is-A機(jī)制稱為“繼承”。關(guān)系具有傳遞性,不具有對稱性。

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

段甯孑工學(xué)出版杜

?―??=?PublishingHouseofElectronicsIndustry

7.1類之間的關(guān)系

植物

藻類苔辭類蕨類裸子類

荔橘

枝子

傳遞性高等植物、蕨類植物、芒箕都是植物,具有植物的共同特征

不具有對稱性不是所有植物都屬于蕨類

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

段甯孑工學(xué)出版狂

PublishingHouseofElectronicsIndustry

7.1類之間的關(guān)系

>繼承是類之間定義的一種重要關(guān)系

?一個(gè)B類繼承A類,或稱從類A派生類B

類A稱為基類(父類),類B稱為派生類(子類)

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

段南孑工常出版和

PublishingHouseofElectronicsIndustry

7.2基類和派生類

類繼承關(guān)系的語法形式

class派生類名:基類名表

{

數(shù)據(jù)成員和成員函數(shù)聲明

};

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

段甯孑工學(xué)出版狂

PublishingHouseofElectronicsIndustry

7.2基類和派生類

類繼承關(guān)系的語法形式

class派生類名:基類名表

(

數(shù)據(jù)成員和成員函數(shù)聲明

};

基類名表構(gòu)成

訪問控制基類名],訪問控制基類名2,訪問控制基類名〃

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

得甯孑工學(xué)出版杜

PublishingHouseofElectronicsIndustry

7.2基類和派生類

類繼承關(guān)系的語法形式

class派生類名:基類名表

{

數(shù)據(jù)成員和成員函數(shù)聲明

};

基類名表構(gòu)成

訪問控制基類名],訪問控制基類名2,訪問控制基類名.

訪問控制表示派生類對基類的繼承方式,使用關(guān)鍵字:

public公有繼承

private私有繼承

protected保護(hù)繼承

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

7.2.1訪問控制

A派生類對基類成員的使用,與繼承訪問控制和基類中成員性質(zhì)有關(guān)

》公有繼承基類的公有成員”派生類的公有成員

基類的保護(hù)成員”派生類的保護(hù)成員

》私有繼承基類的公有成員和保護(hù)成員”派生類的私有成員

》保護(hù)繼承基類的公有成員和保護(hù)成員■派生類的保護(hù)成員

A不論種方式繼承基類,派生類都不能直接使用基類的私有成員

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

L公有繼承

基類派生類

private成員

protected成員protected成員

public成員public成員

private成員

protected成員

public成員

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

#include<iostream.h>例7-1公有繼承的測試

classA

{public:

voidget_XY(){cout?"Entertwonumbersofx,y:";cin?x?y;}

voidput_XY(){cout?"x="v<x?",y="vvyv<KrT;}

protected:intx,y;

};

classB:publicA

{public:

intget_S(){returns;};

voidmake_S(){s=x*y;};〃使用基類數(shù)據(jù)成員x,y

protected:ints;

classC:publicB

{public:

voidget_H(){cout?"Enteranumberofh:";cin?h;}

intget_V(){returnv;}

voidmake_V(){make_S();v=get_S()*h;}〃使用基類成員函數(shù)

protected:inth,v;

};

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

#include<iostream.h>例7」公有繼承的測試

classA

{public:

voidget_XY(){cout?"Entertwonumbersofx,y:";cin?x?y;}

voidput_XY(){cout?"x="v<x?",y="vvyv<KrT;}

protected:intx,y;__________________

};classA

classB:publicA----------------------------

{public:

intget_S(){returns;----------------------------

voidmake_S(){s=x*y;};//使用基類數(shù)據(jù)成員classB:publicA

protected:ints;八

};

classC:publicBclassC-publicB

{public:----------------------------

voidget_H(){cout?"Enteranumberofh:";cin?h;}

intget_V(){returnv;}

voidmake_V(){make_S();v=get_S()*h;}//使用基類成員函數(shù)

protected:inth,v;

華南理工大2:算機(jī)學(xué)院周靄如2006

#include<iostream.h>例7-1公有繼承的測試

classA

{public:

voidget_XY(){cout?"Entertwonumbersofx,y:";cin?x?y;}

voidput_XY(){cout?"x="vvx?",y="?y?'n';}

<J^tected:

打/

classB:publicA/

{public:/

intget_S(){returns;/

voidmake_S(){s=x*y;};

mFs^>

classC:publicB

{public:

voidget_H(){cout?"Enteranumberofh:";cin?h;}

intget_V(){returnv;}

.idmakeV()Jmake_S();v=get_S()*h;}〃使用基類成員函數(shù)

Cj^tected:int

};

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

voidmain()例7-1公有繼承的測試

{AobjA;

BobjB;

CobjC;

cout?"ItisobjectA:\n";

objA.get_XY();

objA.put_XY();

cout?"ItisobjectB:\n";

objB.get_XY();

objB.make_S();

cout?"S="vvobjB.get_S()?endl;

cout?"ItisobjectC:\n";

objC.get_XY();

objC.get_H();

objC.make_V();

cout?"V="<vobjC.get_V()?endl;

)

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

voidmain()例7?1公有繼承的測試

{AobjA;y

BobjB;objAobjA.xobjA.y

CobjC;

cout?"ItisobjectA:\n";

objA.get_XY();

objA.put_XY();

cout?"ItisobjectB:\n";

objB.get_XY();

objB.make_S();

cout?"S="vvobjB.get_S()?endl;

cout?"ItisobjectC:\n";

objC.get_XY();

objC.get_H();

objC.make_V();

cout?"V="vvobjC.get_V()?endl;

)

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

voidmain()例7-1公有繼承的測試

{AobjA;

BobjB;objAobjA.xobjA.y

CobjC;

cout?"ItisobjectA:\n";objBobjB.xobjB.yobjB.s

objA.get_XY();

objA.put_XY();

cout?"ItisobjectB:\n";

objB.get_XY();

objB.make_S();

cout?"S="vvobjB.get_S()?endl;

cout?"ItisobjectC:\n";

objC.get_XY();

objC.get_H();

objC.make_V();

cout?"V="<vobjC.get_V()?endl;

)

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

voidmain()例7-1公有繼承的測試

{AobjA;

BobjB;objAobjA.xobjA.y

CobjC;

cout?"ItisobjectA:\n";objBobjB.xobjB.yobjB.s

objA.get_XY();

objCobjC.xobjC.yobjC.sobjC.hobjC.v

objA.put_XY();

cout?"ItisobjectB:\n";

objB.get_XY();

objB.make_S();

cout?"S="vvobjB.get_S()?endl;

cout?"ItisobjectC:\n";

objC.get_XY();

objC.get_H();

objC.make_V();

cout?"V="<vobjC.get_V()?endl;

)

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

voidmain()例7-1公有繼承的測試

{AobjA;y

BobjB;objAobjA.xobjA.y

CobjC;

cout?"ItisobjectA:\n";objBobjB.xobjB.yobjB.s

objA.get_XY();

objCobjC.xobjC.yobjC.sobjC.hobjC.v

objA.put_XY();

cout?"ItisobjectB:\n*S

objB.get_XY();對objA的

objB.make_S();數(shù)據(jù)成員操作

cout?"S="?objB.get_S()?enirr7

cout?"ItisobjectC:\n";

objC.get_XY();

objC.get_H();

objC.make_V();

cout?"V="vvobjC.get_V()?endl;

}

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

voidmain()例7-1公有繼承的測試

{AobjA;xy

BobjB;objAobjA.xobjA.y

CobjC;s

cout?"ItisobjectA:\n";objBobjB.xobjB.yobjB.s

hv

objA.getAY(),…

J&-objCobjC.xobjC.yobjC.sobjC.hobjC.v

objA.put_XY();

cout?"ItisobjectB:\n";

objB.get_XY();

objB.make_S();

cout?"S="vvobjB.get_S()<^endl;

調(diào)用基類A成員函數(shù)

cout?"ItisobjectC:\n";

對objB的數(shù)據(jù)成員操作

objC.get_XY();

objC.get_H();

objC.make_V();

cout?"V="<vobjC.get_V()?endl;

)

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

voidmain()例7-1公有繼承的測試

{AobjA;

BobjB;objAobjA.xobjA.y

CobjC;

cout?"ItisobjectA:\n";objBobjB.xobjB.yobjB.s

objA.get_XY();

objCobjC.xobjC.yobjC.sobjC.hobjC.v

objA.put_XY();

cout?"ItisobjectB:\n";

objB.get_XY();

objB.makeSQ;、

cout?"S=n?obj]^g€tS()?endl;

cout?"ItisobjectC:\n"

objC.get_XY();調(diào)用派生類B成員函數(shù)

objC.get_H();對objB的數(shù)據(jù)成員操作

objC.make_V();

cout?"V="<vobjC.get_V()?endl;

)

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

voidmain()例7-1公有繼承的測試

{AobjA;

BobjB;objAobjA.xobjA.y

CobjC;

cout?"ItisobjectA:\n";objBobjB.xobjB.yobjB.s

objA.get_XY();

objCobjC.xobjC.yobjC.sobjC.hobjC.v

objA.put_XY();

cout?"ItisobjectB:\n";

objB.get_XY();

調(diào)用基類A成員函數(shù)

objB.make_S();

cout?"S="?objB.get?endl;對objC的數(shù)據(jù)成員操作

cout?"ItisobjectC>If.

objC.get_XY();

objC.get_H();

objC.make_V();

cout?"V="<vobjC.get_V()?endl;

)

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

voidmain()例7-1公有繼承的測試

{AobjA;xy

BobjB;objAobjA.xobjA.y

CobjC;s

cout?"ItisobjectA:\n";"bjBobjB.xobjB.yobjB.s

hv

objA.get_XY();

obiCobjC.xobjC.yobjC.sobjC.hobjC.v

objA.put_XY();

cout?ItisobjectB:\n;

objB.get_XY();

objB.make_S();

cout?"S=n?objB.get_S()?ej2m;調(diào)用派生類C成員函數(shù)

cout?"ItisobjectC:\n";/對objC的數(shù)據(jù)成員操作

objC.get_XY();/

objC.get_H();/

objC.makeVO;

cout?"V="<vobjC.get_V()?endl;

)

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

voidmain()例7-1公有繼承的測試

{AobjA;

BobjB;objAobjA.xobjA.y

CobjC;

cout?"ItisobjectA:\n";objBobjB.xobjB.yobjB.s

objA.get_XY();

objCobjC.xobjC.yobjC.sobjC.hobjC.v

objA.put_XY();

cout?"ItisobjectB:\nn;

objB.get_XY();

objB.make_S();

cout?"S="vvobjB.get_S()?endl;

cout?"ItisobjectC:\n";

objC.get_XY();

objC.get_H();

objC.make_V();

cout?"V="vvobjC.get_V()?endl;

}

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

2.私有繼承

基類派生類

private成員

protected成員private成員

public成員private成員

private成員

protected成員

public成員

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

#include<iostream.h>例7?2私有繼承的測試

classA

{public:

voidget_XY(){

voidputXY()

protected:intx,y

};

classB:privateA

{public:

intget_S(){returns;}

voidmake_S(){get_XY();s=x*y;}

private:ints;

};

voidmain()

{BobjB;

cout?"ItisobjectB:\n";

objB.make_S();private成員

cout?"S="<<objB.get_S()?endl;objBobjB.xobjB.yobjB.s

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

#include<iostream.h>例7-2私有繼承的測試

classA

{public:

voidget_XY(){cout?"Entertwonumbersofxanc

voidput_XY(){cout?"x="?x?",y="?y

protected:intx,y;

};調(diào)用基類成員函數(shù)

classB:privateA/HassB:privateA

{public:/

intget_S(){returnsj_yl

voidmake_S()^getXYO;

private:ints;

};

voidmain()

{BobjB;

cout?"ItisobjectB:\n";

objB.make_S();private成員

cout?"S="<<objB.get_S()?endl;objBobjB.xobjB.yobjB.s

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

#include<iostream.h>例7-2私有繼承的測試

classA

{public:

voidget_XY(){cout?"Entertwonumbersofxanc-

voidput_XY(){cout?"x=n?x?",y="?yc^assA

protected:intx,y;八

};_________________________________________

classB:privateAclassB:privateA

{public:--------------------------

intget_S(){returns;}

voidmake_S(){get_XY();s=^x*y^}

private:ints;/

------------i^Z

::訪問私有數(shù)據(jù)成員

{耳______

cout?"ItisobjectB:\n";

objB.make_S();private成員

cout?"S="<<objB.get_S()?endl;objBobjB.xobjB.yobjB.s

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

#include<iostream.h>例7-2私有繼承的測試

classA

{public:

voidget_XY(){

voidputXY()

protected:intx,y

};

classB:privateA

{public:

intget_S(){returns;}

voidmake_S(){get_XY();s=x*

private:ints;

};

voidmain()

{BobjB;

cout?"ItisobjectB:\n";

objB.make_S();private成員

cout?"S="<<objB.get_S()?endl;objBobjB.xobjB.yobjB.s

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

#include<iostream.h>例7-3私有數(shù)據(jù)成員的測試

classA

{public:A(){x=l;}

intout(){returnx;}

voi^addXQ{x++;}

(gnyate:int

};

classB:publicA

{public:B(){y=l;}

intout(){returny;}

voidadd、

private:inty;基類的私有數(shù)據(jù)成員

};不能在派生類中直接訪問

voidmain()

{Aa;但派生類對象建立私有數(shù)據(jù)空間

Bb;

b.addX();b.addY();

cout?"a.x-'?a.out()?endl;

cout?"b.x-'?b.A::out()?endl;

cout?"b.尸”?b.out()?endl;

}

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

#include<iostream.h>例7-3私有數(shù)據(jù)成員的測試

classA

{public:A(){x=l;}

intout(){returnx;}

voidaddX(){x++;}

private:intx;

};

classB:publicA

{public:B(){y=l;}

intout(){returny;}

voidaddY(){y++;}

private:inty;

};

voidmain()

{Aa;

cout?"a.x="?a.out()?endl;

Bb;

b.addX();b.addY();a.x

cout?nb.x-'?b.A::out()?endl;

cout?"b.y="?b.out()?endl;b.xb.y

)

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

#include<iostream.h>例7-3私有數(shù)據(jù)成員的測試

classA

{public:A(){x=l;}

intout(){returnx;}

voidaddX(){x++;}

private:intx;

};____________________

clas調(diào)用構(gòu)造函數(shù)-

{PL對數(shù)據(jù)成員賦值.

vuiudUuiu[y]?;

private:inty;

};

voidmain()

{Aa;

cout?''a.x="?a.out()?endl;

Bb;

b.addX();b.addY();a.x

cout?nb.x-'?b.A::out()?endl;

cout?"b.y="?b.out()?endl;b.xb.y

)

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

#include<iostream.h>

voidaddyf){y++;}例7-3私有數(shù)據(jù)成員的測試

classA

private:inty;

{public:A(){x=l;}

};intout(){returnx;}

voidmain()

voidaddX(){x++;}classA

{Aa;

private:intx;

};

classB:publicA創(chuàng)建派生類對象

{public:B(){y=l;}publicA

intout(){rej^my;}調(diào)用基類分派生類構(gòu)造函數(shù)

b.x=1b.y=1-1□1x

a.x=l

b.x-2

b.y=2

PressanykeytocontinueMd

cout"a.x="?a.out()?endl;

Bb;

b.addX();b.addY();a.x1

cout?"b.x-'?b.A::out()?endl;

cout?"b.y="?b.out()?endl;b.xb.y

)

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

#include<iostream.h>例7-3私有數(shù)據(jù)成員的測試

classA

{public:A(){x=l;}

intout(){returnx;}

voidaddXQ{x++;}classA

private:intx;

};

classB:publicA

{public:B(){y=l;}調(diào)用基類公有成員函數(shù)classB:publicA

intout(){r9fumy;}b.x++

voidadd/){y++;}

private:inty;

};

voidmain()

{Aa;

cout?",x="?a.out()?endl;

Bb;

b.addX();b.addY();a.x1

cout?nb.x-'?b.A::out()?endl;

cout?"b.y="?b.out()?endl;b.x2b.y

)

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

#include<iostream.h>例7-3私有數(shù)據(jù)成員的測試

classA

{public:A(){x=l;}

intout(){returnx;}

voidaddX(){x++;}classA

private:intx;

};

classB:publicA/-----

{public:B(){尸1;}/調(diào)用派生類公有成員函數(shù)3:publicA

intout(){returny'J}b.y++

voidaddY(){yj/-;}

private:inty;/

/

voidmain()/

{Aa;/

cout?"a.x="<<a.out()?endl;

Bb;/

b.addXQ;b.addY();a.x1

cout?"b.x-'?b.A::out()?endl;

cout?"b.y="?b.out()?endl;b.x2

)

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

#include<iostream.h>例7-3私有數(shù)據(jù)成員的測試

classA

{public:A(){x=l;}

intout(){returnx;}

voidaddX(){x++;}

private:intx;

};

classB:publicA>----

{public:B(){尸1;}/

intout(){returny;}/

voidaddY(){y++;}/

private:inty;/

/

voidmain()/

{Aa;/

cout?"a.x="?a.out()4<endl;

Bb;/

b.addX();b.addY();/

a.x

cout?nb.x-'?b.A::out()?endl;

cout?"b.y="?b.out()?endl;b.x-2b.y2

)

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

#include<iostream.h>例7-3私有數(shù)據(jù)成員的測試

classA

{public:A(){x=l;}

intout(){returnx;}

voidaddX(){x++;}classA

private:intx;

};

classB:publicA

{public:B(){y=l;}/ublicA

intoutO{returny;}/調(diào)用派生類版本同名函數(shù)

voidaddY(){y++;}/

返回b.y的值-1□1x

private:inty;/la.x=l

/

voidmain()/&yg)

{Aa;/Pressanykeytocontinue

cout?"a.x="?a.out()<?endl;

Bb;/

b.addX();b.addY();/

cout?"b.x-'?b.A::&t()?en(a.x

9

cout?"b.尸”?b.out()?endl;b.x-2b.y

}

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

3.保護(hù)繼承

基類派生類

private成員

protected成員protected成員

public成員protected成員

private成員

protected成員

public成員

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

7.2.2重名成員

A派生類定義了與基類同名的成員,在派生類中訪問同名成員

時(shí)屏蔽了基類的同名成員

>在派生類中使用基類的同名成員,顯式地使用類名限定符:

類名::成員

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

L重名數(shù)據(jù)成員

例:baseab

classbase

derivedabbc

{public:

inta,b;

};

classderived:publicbase

{public:

intb,c;

};

voidf()

{derivedd;

d.a=1;

d.base::b=2;

d.b=3;

d.c=4;

};

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

L重名數(shù)據(jù)成員

例:baseab

classbase

derivedabbc

{public:

inta,b;

derivedd

};

classderived:publicbase

{public:

intb,c;

};

voidf()

{derivedd;

d.a=1;

d.base::b=2;

d.b=3;

d.c=4;

};

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

L重名數(shù)據(jù)成員

例:baseab

classbase

derivedabbc

{public:

inta,b;

derivedd(1

};

classderived:publicbase

{public:

訪問從base類繼承

的數(shù)據(jù)成員a

d.b=3;

d.c=4;

);

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

L重名數(shù)據(jù)成員

例:baseab

classbase

derivedabbc

{public:

inta,b;

derivedd1(、2,)

};

classderived:publicbase

{public:

intb,c;/

卜/訪問從base類

voidf()繼承的b

{derivedd;

d^a=1;

C^Tbase::

d.b=3;

d.c=4;

);

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

L重名數(shù)據(jù)成員

例:baseab

classbase

derivedabbc

{public:

inta,b;

derivedd123

};

classderived:publicbase

{public:

intb,c;

};訪問derived類定義

voidf()

的數(shù)據(jù)成員b

{derivedd

d.a=

d?batse::b=2;

d.b=3

d.c=4;

};

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

L重名數(shù)據(jù)成員

例:baseab

classbase

derivedabbc

{public:

inta,b;

derivedd

};

classderived:publicbase

{public:

intb,c;

訪問derived類

定義的數(shù)據(jù)成員c

};

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

L重名數(shù)據(jù)成員

例:baseab

classbase

derivedabbc

{public:

inta,b;

derivedd1234

};

classderived:publicbase

{public:

intb,c;

};

voidf()A基類成員的作用域延伸到所有派生類

{derivedd;

d.a=1;

A派生類的重名成員屏蔽基類的同名成員

d.base::b=2;

d.b=3;

d.c=4;

);

華南理工大學(xué)計(jì)算機(jī)學(xué)院周靄如2006

〃例7?42.重名成員函數(shù)

#include<iostream.h>

classA

{public:

intal,a2;

A(intil=O,inti2=0){al=il;a2=i2;}

voidprintO

{cout??al??"a2="?a2?endl;}

};

classB:publicA

{public:

intbl,b2;

B(intj1=1,intj2=l){bl=jl;b2=j2;}

voidprint()〃定義同與函數(shù)

{cout?nbl=n?bl?!\tf?“b2="?b2?endl;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論