您的位置:首页 > 其它

const关键字特性分析(待补充)

2012-06-17 01:02 316 查看
const关键字

/***********************C++ const特性分析*********************/
#include <iostream>

using namespace std;

class A{
private:
int a;
public:
A(){}
A(int a){A::a = a;}
void SetA(const int& a){
A::a = a;
}
//const加在末尾表示该成员函数不改变类中的成员变量
int GetA() const{
return a;
}
//返回值为const
const A&
operator= (const A& A0){
a = A0.a;
return *this;
}
};

int main(){
//1. 指针指向的值不可改变
const int* a1 = new int(1);
cout << "*a1: " << *a1 << endl;

//2. 指针本身的值不可改变
int* const a2 = new int(2);
cout << "*a2: " << *a2 << endl;

//2. 指针指向的值可以改变
*a2 = 22;
cout << "*a2: " << *a2 << endl;

A A1;
A A2;
A A3;
A1.SetA(3);
//如果写成(A2 = A3) = A1则会报错 因为重载等号的返回值是const
A2 = A3 = A1;
cout <<"A2.GetA(): " << A2.GetA();

return 0;
}


输出:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: