const的意义就是常量,代表不可变。用const修饰过的变量或函数都有不可变的意义在里面,在编程中可以很好的运用这点不可变性。
2.const作用
3.const在函数后面
1 |
void fun() const; |
fun()函数体内不能做变量的修改,
1 2 3 4 |
void fun() const { i =10; //错误 } |
4.const作用于类对象时,对象将只能调用const成员函数
1 2 |
const circle c1; //c1常量 c1.print(); //如果print()函数不是const函数,编译会通不过 |
修改成const函数后完整代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
//梁笔记 //zouzhongliang.com #include <iostream> #include <string> using namespace std; class circle { private: double x,y; double radius; public: circle(){ x = 0; y = 0; radius = 10; } ~circle(){ } void print() const { cout<<"测试const函数"<<endl; } }; int main() { const circle c1; c1.print(); return 0; } |
5.在类内相同函数名,const函数和非const函数是两个完全不同的函数,所以它们可以被重载。
1 2 3 4 5 |
class test{ public: void fun(); //this指针类型 test* void fun() const; //this指针类型 const test* } |
可重载原因就是const函数和非const函数的this指针类型不一样。
《C++中const函数作用实例详解》上有1条评论
评论已关闭。