2 回答
TA贡献1807条经验 获得超9个赞
首先:
1 | const double pi=3.1415926; |
这个表明pi是个常量。就是不能改变的量。和
1 | #define pi 3.1415926 |
差不多,只是比define更安全。const是C++的风格。
----------------------
另外:
virtual double Area() const =0; virtual double Volume() const =0; |
这定义了Area()和Volume()是常成员函数。
(说句题外话,后面的“=0”表明它俩都是纯虚函数。)
常成员函数有啥特点呢?呵呵,
常成员函数不能更新类的成员变量(如它俩都不能更新radius的值),也不能调用该类中没有用const修饰的成员函数,只能调用常成员函数(如它俩可以相互调用,却不能调用其他的成员函数)。
还有:
const是函数类型的一部分,在实现部分也要带该关键字。
所以你可以看到,在下面的代码中,声明他们的时候,都带上了const.
还有疑问么?请追问。
TA贡献1777条经验 获得超10个赞
const就是不可修改的意思呗。。。
1、
因为除了初始化的时候有赋值,之后不允许改变,所以叫常量了。
2、
通常在定义函数时形参都定义成const类似比较多,目的就是防止在传指针或者引用时,错误地修改了原先的数据。// void do_nothing(const string& str);
3、
还有就是函数的返回值有用const修饰的,一般来说也都是返回引用或指针比较多,目的都是一样的,不允许其他接口去直接修改该内容;// const kind_of_class* get_this_kind_of_class();
4、
上面都是做前缀的,再者就是成员函数后面做后缀的;意思就是该函数不修改本class内的任何成员变量;// int just_get_some_class_info() const;
差不多工作中常用的就这些个吧。
- 2 回答
- 0 关注
- 285 浏览
添加回答
举报