類 物件詳解(一)

2021-10-08 00:05:05 字數 2746 閱讀 7036

類定義是以關鍵字 class 開頭,後跟類的名稱。類的主體是包含在一對花括號中。類定義後必須跟著乙個分號或乙個宣告列表。

舉例1:以class定義box資料型別:

class

box;

注:關鍵字 public 確定了類成員的訪問屬性。在類物件作用域內,公共成員在類的外部是可訪問的。

舉例:

#include

using

namespace std;

class

box;

intmain()

執行結果:

box1 的體積:210

box2 的體積:1560

一:類成員函式

類的成員函式是指那些把定義和原型寫在類定義內部的函式,就像類定義中的其他變數一樣。類成員函式是類的乙個成員,它可以操作類的任意物件,可以訪問物件中的所有成員。

例:(內部定義)

class

box}

;

外部定義:

double box::

getvolume

(void

)

box mybox;

// 建立乙個物件

mybox.

getvolume()

;// 呼叫該物件的成員函式

舉例:

#include

using

namespace std;

//#define out_fan

#define in_fan

class

box#endif

void

setlength

(double len )

;void

setbreadth

(double bre )

;void

setheight

(double hei );}

;// 成員函式定義

#ifdef out_fan

double box::

getvolume

(void

)#endif

void box::

setlength

(double len )

void box::

setbreadth

(double bre )

void box::

setheight

(double hei )

// 程式的主函式

intmain()

執行結果:

box1 的體積:210

box2 的體積:1560

注意:

1、:: 叫作用域區分符,指明乙個函式屬於哪個類或乙個資料屬於哪個類。

2、定義在類中的成員函式預設都是內聯的,如果在類定義時就在類內給出函式定義,那當然最好。如果在類中未給出成員函式定義,而又想內聯該函式的話,那在類外要加上 inline,否則就認為不是內聯的。

例:

// 標頭檔案

class

a// 定義檔案

inline

void a::

foo(

int x,

int y)

3、函式呼叫非虛成員函式、呼叫虛函式的區別:

1.呼叫非虛成員函式:和呼叫非成員函式一樣,通過物件確定物件所屬的類,然後找到類的成員函式。此過程不會涉及到物件的內容,只會涉及物件的型別,是一種靜態繫結。

#include

#include

#include

#include

#include

using

namespace std;

class

student

;void student::

input_name()

void student::

input_***()

void student::

input_math()

void student::

input_english()

void student::

input_cprogram()

void student::

show_student_massage

(class

student

*stu)

void student::

input

(class

student

*stu)

intmain()

執行結果:

輸入學生姓名: ***

學生姓名 :***

輸入學生性別: *

* 輸入學生數學: *

* 輸入學生英語: *

* 輸入學生c語言: *

* 學生姓名 : *

* 學生性別 : *

* 學生數學 : *

* 學生英語 : *

* 學生c語言:*

*

c 類 物件詳解

c 在c語言的基礎上增加了物件導向程式設計 類是c 的核心特性 類用於指定物件的形式,包含了資料的型別和處理資料的方法。類中的資料和方法稱為類的成員。定義乙個類,本質就是在這個類中定義資料型別,和相應處理該資料的方法。形式為 class 類名 例如 class box int main 執行結果 v...

C 類和物件詳解

2 封裝 3 類的例項化 4 this指標 5 類六大預設函式 6 再談建構函式 7 static成員 8 c 11的成員就地初始化 9 友元 10 內部類 1.1 面向過程 面向過程是一種自上而下的程式設計方法。過程式的特徵是以函式為中心,用函式作為劃分程式的基本單位。關注的是過程,分析出求解問題...

C Const詳解,包含類物件的類

1 非靜態成員函式後面加const 加到非成員函式或靜態成員後面會產生編譯錯誤 2 表示成員函式隱含傳入的this指標為const指標,決定了在該成員函式中,任意修改它所在的類的成員的操作都是不允許的 因為隱含了對this指標的const引用 3 唯一的例外是對於mutable修飾的成員。加了con...