C const物件(常物件)

2022-07-07 11:33:10 字數 750 閱讀 2205

在 c++ 中,const 也可以用來修飾物件,稱為常物件。一旦將物件定義為常物件之後,就只能呼叫類的 const 成員(包括 const 成員變數和 const 成員函式)了。

定義常物件的語法和定義常量的語法類似:

const  class  object(params);

class const object(params);

當然也可以定義 const 指標:

const class *p = new class(params);

class const *p = new class(params);

class為類名,object為物件名,params為實參列表,p為指標名。兩種方式定義出來的物件都是常物件

一旦將物件定義為常物件之後,不管是哪種形式,該物件就只能訪問被 const 修飾的成員了(包括 const 成員變數和 const 成員函式),因為非 const 成員可能會修改物件的資料(編譯器也會這樣假設),c++禁止這樣做。

常物件使用舉例:

#include using namespace std;

class student;

student::student(char *name, int age, float score): m_name(name), m_age(age), m_score(score)

void student::show()

C const成員函式和const常物件

1 可以訪問所有成員變數,但是不能修改,此類成員函式又稱 常成員函式 2 宣告或實現時必須在函式的結尾加上const,而不是在函式的開頭。int getage const 在結尾加 1 常物件只能訪問常成員函式,常成員變數和普通成員變數都可以訪問。using namespace std class ...

C 之常物件,常物件成員

一.常物件 1.常物件定義 time const t1 1,2,3 或者const time t1 2.常物件不能呼叫該物件的非const型的成員函式 系統主動呼叫的構造析構函式除外 3.常成員函式的宣告方法,後面加個const即可 void get time const 4.常物件不能修改物件內的...

C const方法及物件

一 整體 01.cpp include using namespace std class test int getx const 不能改變變數的值 cout 二 執行結果 三 解釋 const成員函式不能改變類的成員變數,如果想改變,那麼成員變數前加上mutable關鍵字 const成員函式只能呼...