//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
()
protected:
string nam;
char s;
int a;
string t;
string c;
};class
student
void
()
protected:
string nam;
char s;
int a;
int num;
string dep;
};class
gradstudent:
public student
void
()
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...