常資料成員 常成員函式 常物件

2021-10-10 13:00:54 字數 2307 閱讀 6762

常資料成員的初始化只能在類建構函式的初始化表中

mino::

mino

(const

char

*name,

int age, string birth,

int height,

int weight)

:m_name

(name)

,m_birthdate

(birth)

初始化表

將const指標轉化為非cosnt以修改非常成員資料

void mino::

display

(void

)const

把希望可被改變的資料成員宣告為mutable

mutable

int m_height;

常物件(用const修飾的物件)只能訪問類中的常成員函式(常成員函式的this指標是常量指標,常量指標可以指向常物件)

mino const

mino

("宋旻浩",27

,"1993-03-30"

,181,67

);//定義常物件

//常資料成員的初始化只能在類建構函式的初始化表中

mino::

mino

(const

char

*name,

int age, string birth,

int height,

int weight)

:m_name

(name)

,m_birthdate

(birth)

void mino::

sing

(string songname)

void mino::

playtongue

(int times)

}mino::

~mino()

intmain()

if(dosomething ==

"唱歌")if

(dosomething ==

"爬")

if(dosomething ==

"???")}

}return0;

}/// 指標常量 常量指標

// int a = 100;

// int b = 200;

// const int *p = &a;

// *p = 300;// [錯誤] 指標指向的內容不可修改

// p = &b; // [正確] 指標可以指向其他位址

// const char *s = "world";

// char * const p = "hello";

// //p = s; //[錯誤] 指標p的值已經不能再發生改變

// *p = 'a'; // 指標p指向位址的內容可以改變

// //但是實際上它應該是乙個const char * const p;(就是p指向的內容也是常量) 所以它的值也不能修改 會段錯誤

// int a = 100;

// int x = 200;

// int * const p = &a;

// int * const c = &x;

// p = c; //[錯誤] 指標p的值不能修改

// *p = 300; //[正確] 指標p所指向的內容可以修改

常引用,常物件,常成員函式,常資料成員

常引用 形式 const 型別 物件名或變數名 常物件 形式 const 類名 物件名 1.常物件的資料成員不能被修改了,在定義的時候應該對其進行初始化 2.常物件不能夠呼叫普通成員函式 因為普通成員函式可能會修改物件的資料型別,這是不安全的。3.常物件可以呼叫靜態成員函式,常成員函式,其實也可以調...

常物件 常資料成員 常成員函式總結

include using namespace std class time void out value void out value const 常成員函式可以引用非常物件和常物件的成員變數 如輸出或者計算 但不能修改 void set value int int int void time s...

C 常成員函式 常資料成員 常物件

常成員函式在宣告和實現時都要帶const關鍵字 常成員函式不能修改物件的資料成員,也不能訪問類中沒有用const宣告的非常成員函式。在任何函式中都不能對常資料成員賦值。對常資料成員初始化,只能通過建構函式的初始化列表。常物件的資料成員在它的生存期內不會被改變,因此定義常物件時必須對其進行初始化。這裡...