1、有兩個長方柱,其長、寬、高分別為: (1)15,26,27;(2)11,15,30。求解並輸出它們的體積。編乙個基於物件的程式,在類中用帶引數的建構函式。
#include
using
namespace std;
/*有兩個長方柱,其長、寬、高分別為:
(1)15,26,27;(2)11,15,30。求解並輸出它們的體積。
編乙個基於物件的程式,在類中用帶引數的建構函式。
*/class
rectangle
~rectangle()
float
volume()
private
:int length;
int width;
int height;};
intmain()
2、編寫乙個程式,宣告抽象基類shape,由它派生出圓形circle和矩形rectangle,用乙個函式area()分別輸出上述兩個圖形的面積,兩個圖形的資料在定義物件時給出。
#include
using
namespace std;
/*3.編寫乙個程式,宣告抽象基類shape,
由它派生出圓形circle和矩形rectangle,
用乙個函式area()分別輸出上述兩個圖形的面積,
兩個圖形的資料在定義物件時給出。
*/class
shape
;class
circle
:public shape
virtual
void
area()
const
virtual
void
shapename()
const
protected
:float radius;};
class
rectangle
:public shape
virtual
void
area()
const
virtual
void
shapename()
const
protected
:int length;
int width;};
intmain()
3、分別定義教師類teacher和幹部類cadre,
採用多重繼承的方式由這兩個類派生出新類teacher_cadre(教師兼幹部類)。
要求:(1)在兩個基類中都包含姓名、年齡、性別、位址、**資料成員。
(2)在teacher類中還包含資料成員職稱title,在cadre類中還包含資料成員職務post,
在teacher_cadre類中還包含資料成員工資wage
(3)對兩個基類中的姓名、年齡、性別、位址、**資料成員用相同的名字,
在訪問這類資料成員時,指定作用域。
(4)在類體中宣告成員函式,在類外定義成員函式。
(5)在派生類teacher_cadre的成員函式show中呼叫teacher類中的display函式,
輸出姓名、年齡、性別、位址、**,然後再用cout語句輸出職務和工資。。
#include
using
namespace std;
/*分別定義教師類teacher和幹部類cadre,
採用多重繼承的方式由這兩個類派生出新類teacher_cadre(教師兼幹部類)。
要求: (1)在兩個基類中都包含姓名、年齡、性別、位址、**資料成員。
(2)在teacher類中還包含資料成員職稱title,在cadre類中還包含資料成員職務post,
在teacher_cadre類中還包含資料成員工資wage
(3)對兩個基類中的姓名、年齡、性別、位址、**資料成員用相同的名字,
在訪問這類資料成員時,指定作用域。
(4)在類體中宣告成員函式,在類外定義成員函式。
(5)在派生類teacher_cadre的成員函式show中呼叫teacher類中的display函式,
輸出姓名、年齡、性別、位址、**,然後再用cout語句輸出職務和工資。。
*/class
teacher
;teacher::
teacher
(string n,
int a,string s,string add,
int p,string t)
void teacher::
display()
class
cadre
;cadre::
cadre
(string n,
int a,string s,string add,
int p,string po)
void cadre::
display()
class
teacher_cadre
:public teacher,
public cadre
;teacher_cadre::
teacher_cadre
(string n,
int a,string s,string add,
int p,string t,string po,
float w)
:teacher
(n,a,s,add,p,t)
,cadre
(n,a,s,add,p,po)
,wage
(w)void teacher_cadre::
show()
intmain()
4、
1.過載運算子「+」,使之能用於兩個複數相加,並輸出相加結果。
2.依據上題,過載運算子「<<」用來輸出複數。
3.依據上題,過載運算子「>>」用來輸入複數。
#include
using
namespace std;
/*1.過載運算子「+」,使之能用於兩個複數相加,並輸出相加結果。
2.依據上題,過載運算子「<<」用來輸出複數。
3.依據上題,過載運算子「>>」用來輸入複數。
*/class
complex
complex
(double r,
double i)
:real
(r),
image
(i) complex operator
+(complex &c2)
;friend ostream&
operator
<<
(ostream&
,complex&);
friend istream&
operator
>>
(istream&
,complex&);
protected
:double real;
double image;};
complex complex::
operator
+(complex &c2)
ostream&
operator
<<
(ostream &output,complex &c)
istream&
operator
>>
(istream &input,complex &c)
intmain()
5、宣告一字串類string,用來存放不定長的字串,過載運算子==,<,>,用於比較兩個字串的等於大於小於的比較運算。
#include
#include
using
namespace std;
/*宣告一字串類string,用來存放不定長的字串,過載運算子==,<,>,
用於比較兩個字串的等於大於小於的比較運算。
*/class
string
string
(char
*str)
friend
bool
operator
>
(string &s1,string &s2)
;friend
bool
operator
<
(string &s1,string &s2)
;friend
bool
operator
==(string &s1,string &s2)
;void
display()
;protected
:char
*p;}
;void string::
display()
bool
operator
>
(string &s1,string &s2)
bool
operator
<
(string &s1,string &s2)
bool
operator
==(string &s1,string &s2)
intmain()
c 學習筆記 8 關於模板類
1 就算是預設建構函式不需要構造任何東西,也要寫出乙個空函式體!如大整數類class long int return is 代碼有誤。待修改!int size void output private std vectordata long int long int 這一句不能少,即使是空函式體!2 ...
C 學習筆記 類的朋友
在類a中,用friend關鍵字可以將乙個全域性函式宣告為該類的 朋友 也可以將另乙個類宣告為該類的朋友。class object 將全域性函式print宣告為 朋友 friend void print object p 將類something宣告為 朋友 friend class something...
C 類的學習筆記(二)
今天繼續學習類,這可是oop較為核心的內容。今天來講訪問控制。訪問控制有三個關鍵字protected public和private。當我們使用類物件的程式可以直接訪問公有成員函式,如果要訪問私有函式,我們可以通過公有函式來訪問。這是因為可以通過公有函式處理私有資料,這也是封裝的體現,資料要加密,不能...