實驗5 繼承與派生

2021-08-21 03:37:46 字數 2771 閱讀 4041



//sy5_1.cpp

#include

using

namespace

std;

class

a

intgeta

()

public:

int a;

};class

b:public a

intgetb

()

void

show

()

public:

int b;

};int

main

()

a,公有成員函式seta()和geta()作為派生類b的保護成員,派生類成員可以直接訪問它們,但在類外部,派生類的物件無法訪問它們。

不能被派生類的子類物件訪問,因此程式錯誤。

//sy5_2.cpp

//li4_10.cpp

//有虛基類時,多繼承方式下建構函式的呼叫順序

#include

using

namespace

std;

class

base1

~base1()

};class

base2

~base2()

};class

derived1:

public base1,

virtual

public base2

~derived1()

};class

derived2:

public base1,

virtual

public base2

~derived2()

};class

derived3:

public derived1,

virtual

public derived2

~derived3()

};int

main

()

//sy5_3.cpp

#include

#include

using

namespace

std;

class

teacher

void

print

()

protected:

string nam;

char s;

int a;

string t;

string c;

};class

student

void

print

()

protected:

string nam;

char s;

int a;

int num;

string dep;

};class

gradstudent:

public student

void

print

()

private:

string pro;

};int

main

()

cout

<<

endl;

cout

<<

"是否繼續查詢? 1.yes 2.no"

<<

endl;

cin>>j;

if(j==

1) goto loop;

else

return

0;

}

//sy5_4.cpp

#include

using

namespace

std;

class

shape

;double

area

() const

double

bulk

() const

};class

twodimshape:

public shape{};

class

circle:

public twodimshape

double

area

()const

protected:

double r;

};class

threedimshape:

public shape{};

class

sphere:

public threedimshape

double

bulk

()const

protected:

double r;

};int

main

()

當類的繼承方式為保護繼承時,在派生類中,基類的公有成員和保護成員作為派生類的保護成員,派生類的成員函式可以直接訪問它們,而派生類的成員函式無法直接訪問基類的私有成員。在類外部,派生類的物件無法基類的所有成員。

通過這次實驗我學會了派生類派生類建構函式的定義方法以及在多種繼承方式的情況下,建構函式與析構函式的呼叫時機與順序。但是還是有很多知識點不懂,對知識點理解不透徹,還有就是理解了知識點不會運用到實際的題目當中去,

5 繼承與派生

通過繼承已有類的部分或者全部成員,建立新類的過程稱為派生,繼承是物件導向程式設計的特點之一。定義 若定義類a時,使用了已有類b的部分或全部成員,則類a繼承了類b,成類b為基類或父類,成類a為派生類或子類。乙個派生類又可作為另乙個類的基類,乙個基類也可派生出若干個派生類,這樣就構成類樹,或類族。從 已...

實驗五 繼承與派生

1.掌握派生類的定義方法的和派生類建構函式定義方法。2.掌握在不同繼承方式的情況下,基類成員在派生類中的訪問許可權。3.掌握在多繼承方式的情況下,建構函式與析構函式的呼叫時機與順序。1.除錯下列程式,並在對程式進行修改後再除錯,指出除錯中出錯原因。sy5 1.cpp includeusing nam...

實驗五 繼承與派生

1.掌握派生類的定義方法的和派生類建構函式定義方法。2.掌握在不同繼承方式的情況下,基類成員在派生類中的訪問許可權。3.掌握在多繼承方式的情況下,建構函式與析構函式的呼叫時機與順序。1.除錯下列程式,並在對程式進行修改後再除錯,指出除錯中出錯原因。程式如下 include using namespa...