改错

上机内容:程序存在编译错误。用两种方法修改

上级目的:对const的学习

/*
* 程序的版权和版本声明部分
* Copyright (c)2013, 烟台大学计算机学院学生
* All rightsreserved.
* 文件名称: c.cpp
* 作者:刘杰
* 完成日期: 2013年 4 月5 日
* 版本号: v1.0
* 输入描述:
* 问题描述:error C2662: 'getX' : cannot convert 'this' pointer from 'const class C' to 'class C &'
        Conversion loses qualifiers
*/ 
1:
#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;}
};
int main()
{
const C c(5);
cout<<c.getX()<<endl;;
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()  {return x;}
};
int main()
{
	C c(5);
	cout<<c.getX()<<endl;;
	return 0;
}


运行体会:

本人更倾向于第一种方式,第一种并不改变程序设计者的初衷。

你可能感兴趣的:(改错)