const 成員函式以及const的各種用法詳解

2022-08-17 06:54:15 字數 1680 閱讀 7295

*注意:內類宣告和類外定義都需要加上const,否則編譯器會認為不是同乙個函式;

#includeusing

namespace

std;

class

point

~point();

private

:

double

x;

double

y;};

point::point(

double x_val,double y_val):x(x_val),y(y_val) //

引數不需要在使得x_val=0,y_val=0,否則會報錯

point::~point()

intmain()

擴充套件:const的用法

const修飾基本資料型別

const在函式種的應用

const在類中的應用

const修飾類物件,定義常量物件

一、const修飾基本資料型別

與指標相結合

與引用相結合

二、const應用到函式中

三、const在類中的用法(類中定義常量

class

test

;

intarr1[len1];

intarr2[len2];

};

class

test

;int test::d = 8;//放在類定義之後

test::test(

int x_val,int

y_val):x(x_val),y(y_val)

test::~test()

四、const修飾類物件(常量物件只能呼叫常量函式成員,別的函式不能呼叫)

class

test

~test()

{}void

set(int

yy)   

int getx() const

//protected:

const

intx;

inty;

};void

main()

————————————————

*注:不能再類宣告中初始化static的原因:

因為靜態成員屬於整個類,而不是屬於某個物件,如果再類內初始化,會導致每個物件都包含該靜態成員,這是矛盾的。《c++ primer》裡面說再類外定義和初始化時保證static成員變數只被定義一次的好方法。

五、使用const的建議

int test::d = 8;//放在類定義之後

返回 this 的成員函式以及 const過載

1.非常量成員函式返回非常量 this,常量成員函式返回常量 this,指向常量物件。2.過載函式必須引數數量或者型別不同嗎?答案是 否。還存在一種const過載 person.h pragma once include include include using namespace std cla...

const成員函式

prime c 在類sales item中,same isbn函式定義如下 bool sales item same isbn const sales item rhs const const 成員函式的引入 跟在 sales item 成員函式宣告的形參表後面的 const 所起的作用了 cons...

const成員函式

我們知道,在c 中,若乙個變數宣告為const型別,則試圖修改該變數的值的操作都被視編譯錯誤。例如,cpp view plain copy const char blank blank n 錯誤 物件導向程式設計中,為了體現封裝性,通常不允許直接修改類物件的資料成員。若要修改類物件,應呼叫公有成員函...