常資料成員的初始化只能在類建構函式的初始化表中
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宣告的非常成員函式。在任何函式中都不能對常資料成員賦值。對常資料成員初始化,只能通過建構函式的初始化列表。常物件的資料成員在它的生存期內不會被改變,因此定義常物件時必須對其進行初始化。這裡...