C 類和物件小程式

2021-06-21 21:58:59 字數 1089 閱讀 9212

/*

該程式用到了建構函式、析構函式、物件陣列、物件指標、類內定義友元函式

*/#include

using namespace std;

class box

//既使用了預設引數的建構函式,

//有用函式初始化表對資料成員進行了初始化

float volume();

//求長方形體積

~box();

//析構函式

friend void display(box &);

//類內定義display函式為box類的友元函式

private:

float length;

float width;

float height;

};//注意在括號後面要引號

void display(box &t)

//形參t是對box類物件的引用

float box::volume()

box::~box()

;cout

cout

float(box::*p)()=&box::volume;

//定義了指向物件函式的指標,此時volume函式後面無括號

cout<

box *point=box;

cout

/*求大神幫忙,這一句跟前兩句是同樣的意思,不被注釋掉時顯示「error c2296: '->*' : illegal, left operand has type 'class box [2]' 」,為什麼呢?*/

display(box1);

//調用友元函式display,實參box是box類物件

return 0;

執行結果:

為什麼執行結果會有後面四條語句輸出呢?這時因為我用到了析構函式來輸出不同長方形的體積和「加油」兩字,通過結果可以看到,先構造的後析構,後構造的先析構。當物件建立的時候就執行建構函式,物件建立的先後順序分別是box[1],box[0],box2,box1,所以在主函式結束前系統就「反向」執行這些物件的析構函式。

C 類和物件 類和物件

c 中物件的型別稱為類,類代表了某一批物件的共性和特徵,類是物件的抽象,而物件是類的具體例項,類是抽象的,不占用記憶體,而物件是具體的,占用 儲存空間,這點很重要,讀者需要牢記。類是使用者自己指定的型別,如果程式中要用到類型別,必須自己根據需要進行宣告,或者使用別人已設計好的類,c 標準本身並不提供...

C 物件和類

1,特殊的類 字串string include include using namespace std int main 類似於標準庫函式,我們不需要記住每種 類 的全部操作,只需要在使用過程中記住一些常用的操作就可以了。如果有需要的話,可以求助於相關書籍或網路 2,當我們對string進行種種操作...

C (類和物件)

類成員函式 類的成員函式指標那些把定義和原型寫在類定義內部的函式,就想類定義中的其他變數一樣。類訪問修飾符 類成員可以定義為public,private或protected。預設情況下是定義為private。建構函式 類的建構函式是一種特殊的函式,在建立乙個新物件是呼叫。析構函式 類的析構函式也是一...