/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 李兆庆
* 完成日期: 2012 年 3 月 22 日
* 版 本 号:
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述: 下面一段程序存在编译错误。有两种方法可以修改,请给出两种修改方案,在报告中说明你倾向于哪一种?为什么?处理此类问题的原则是什么?
* 程序输出:
* 程序头部的注释结束
*/
// 下面为源程序:
/*#include <iostream>
using namespace std;
class C
{
private:
int x;
public:
C ( int x ) { this -> x = x ; }
int getX ( ) { return x ; }
};
void main()
{
const C c ( 5 ); // 因对象 c 被定义为常对象,所以不能对其非“ const ”型的成员函数进行调用;我的解决方案二是掉“cout<<c.getX()”而是在定义 C 类的时候直接输出 x ,同样可以达到目的!
cout << c.getX ( );
system ( "pause" );
}*/
//修改后的程序为:
#include <iostream>
using namespace std;
class C
{
private:
int x;
public:
C ( int x ) { this -> x = x ;
cout << x << endl; } //这里,在定义 C 类的时候直接输出 x 的值。
int getX ( ) { return x ; }
};
void main()
{
const C c ( 5 ); //在这里不在去掉了“const”。
//cout << c.getX ( ); 在这里把该句注释掉。
system ( "pause" );
}
/*这两种我更支持1.2的修改方式,因为其中的数据不愿随便的被
别人改动对于一些重要的数据是不许别人随便改动的!
当然啦,各有所需吗。关键看自己的需求是怎么样啦!
*/