6_1const对象运用的错误

来源:互联网 发布:nginx 代理内网发邮件 编辑:程序博客网 时间:2024/05/18 00:29
/** 程序的版权和版本声明部分* Copyright (c)2012, 烟台大学计算机学院学生* All rightsreserved.* 文件名称: object.cpp* 作者:纪子龙* 完成日期: 2013年4 月 4 日* 版本号: v1.0* 输入描述:无* 问题描述:无* 程序输出:无*/#include<iostream>#include<stdlib.h>using namespace std;class C{private:int x;public: C(int x){this->x = x;}int getX() {return x;}};int main(){const C c(5);cout<<c.getX();return 0;}//错误:非const对象的数据成员只能由从const成员函数引用不能改变非const成员函数既不可引用有不可改变;具体修改方案:1.#include<iostream>#include<stdlib.h>using namespace std;class C{private:int x;public: C(int x){this->x = x;}int getX() {return x;}};int main(){C c(5);//将c定义为非const对象cout<<c.getX();return 0;}2.#include<iostream>#include<stdlib.h>using namespace std;class C{private:int x;public: C(int x){this->x = x;}int getX()  const{return x;}//将getX定义为const成员函数};int main(){const C c(5);cout<<c.getX();return 0;}总结:  本人更偏向于第二种方式保证了对象数据成员的封闭性

原创粉丝点击