类中的const成员函数
来源:互联网 发布:编程命名规范 编辑:程序博客网 时间:2024/05/20 21:22
#include<iostream>#include<string>using namespace std;class Student{private: int age; string name;public: Student(int _age=2,string _name="null"):age(_age),name(_name){} void add(Student& t){cout<<age+t.age<<endl;} void show(){cout<<age<<endl<<name<<endl} };int main(){ const Student one;//#1 one.show();//#2 return 0;}
运行发现有错,编译器将拒绝#2行。因为show()的代码无法确保调用对象不被修改——调用对象和const一样,不应被修改。我们以前通过将函数参数声明为const引用或指向const的指针来解决这个问题。但是这里show()没有参数。解决办法就是将const放在函数括号的后面。也就是这样
void show() const //声明
void Student::show()const //定义
{
...........
}
再看一个相似的例子
#include<iostream>#include<string>using namespace std;class Student{private: int age; string name;public: Student(int _age=2,string _name="null"):age(_age),name(_name){} void add(Student& t){cout<<age+t.age<<endl;}};int main(){ Student a; const Student b; a.add(b); //运行发现报错 //no known conversion for argument 1 from 'const Student' to 'Student&' //很明显是const惹的祸 //只要改成add(const Student& t) return 0;}
0 0
- 类中的const成员函数
- const在类成员函数中的作用
- const 在类成员函数中的使用说明
- C++中的const成员函数和const类对象
- C++中的const成员函数
- c++中的const 成员函数
- c++ 中的const 成员函数
- C++中的const成员函数
- C++中的const成员函数
- c++中的const成员函数
- 类const成员函数
- 类中的const成员
- 类成员函数中的const不同位置的作用
- 类中的常量, const对象和成员函数
- 类成员函数声明出的const以及某函数参数中的const
- C++ const 类和 const 成员函数
- 类的 const 成员函数
- 类的const成员函数
- QT QTableWidget 用法总结
- 【大数据处理架构】SparkR
- 关于如何使用thinkphp自带的分页功能
- BestCoder Round #55 解题报告
- linux下安装和配置mongodb
- 类中的const成员函数
- Visual Studio 2008 简体中文正式版下载及序列号(无使用期限限制,正式版)
- 最全面的垂直搜索引擎统计-行业搜索--垂直搜索
- VMWare虚拟系统的网络工作模式
- 【JavaScript】DOM之我的初步理解
- 计算机学科划分
- 学科分类目录
- 与键盘上各键对应的键值
- VC常用数据类型使用转换详解