類定義是以關鍵字 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...