/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.* 文件名称:
* 作 者: 任小宁
* 完成日期:2012 年 3月26 日
* 版 本 号:201158504431
* 对任务及求解方法的描述部分
* 输入描述:1.
class C
{
private:
int x;
public:
C(int x){this->x = x;}
int getx(){return x;}
};
void main()
{
C c(5);
cout<<c.getx()<<endl;
system("pause");
}
2.
class C
{
private:
int x;
public:
C(int x){this->x = x;}
int getx()const{return x;}
};
void main()
{
const C c(5);
cout<<c.getx()<<endl;
system("pause");
}
* 问题描述:有上表可以看出修改的方案就是一个去掉const一个加上const,我比较倾向于加上const 的那个。在课本中我们可以很清楚了了解到加上const的一些好处。
例如;如果在意个类中,有些数据成员的指允许改变,另一些数据成员的值不允许改变,则可以将一部分数据成员声明为const以保证其值不被改变。非const成员函数可以引用这些数据成员的值,并修改非const数据成员的值
如果要求所有的素具成员的值都不允许改变,则可以讲所有的数据成员声明为const,或将对象声明为const(长对象)然后用const 成员函数引用数据成员。这样起到双保险的擢用切实保证了数据成员不被修改
如果已定义了一个常对象,只能调用其中的const成员函数,而不能调用非const成员函数。这是为了保证数据的安全。如果需要访问对象中的数据成员。,可将常对象中所有成员 函数都声明为const成员函数,并确保在函数中不修改对象中的数据成员。
常成员函数不能调用另一个非const成员函数。