第六周实验报告1

原创 2012年03月27日 20:59:21

实验目的:下面的程序存在编译错误,有两种方式可以修改,请给出这两种修改方案。

有问题的源代码:

#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);
	cout << c.getx();
	system("pause");
}

编译错误:
error C2662: 'getx' : cannot convert 'this' pointer from 'const class C' to 'class C &'
        Conversion loses qualifiers

第一种订正方式:

#include <iostream>

using namespace std;

class C
{
private:
	int x;
public:
	C(int x){this -> x = x;}
	int getx(){return x;}
};

void main()
{
	C c(5);
	cout << c.getx();
	system("pause");
}

第二种订正方式:

#include <iostream>

using namespace std;

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();
	system("pause");
}


个人感觉:

在定义对象时指定c为常对象,则对象c中的所有数据成员的值都不能被修改,所以如果希望保证数据成语不被改变的对象,可以声明为常对象,此时自然第二种订正方式更好。

相关文章推荐

第六周实验报告4(1)

(程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved. * 文件名称:设计一个三...

《第六周实验报告任务1》

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:  ...

第六周实验报告1

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: 错...

第六周实验报告任务 1 下面程序存在编译错误。有两种修改方案,更倾向于那一种?为什么?

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved. * 文件名称:下面...

第六周实验报告任务1

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: ...

《C++第六周实验报告4-1》---设计一个三角形类,能够输入三角形的三个顶点,求出其面积、周长,并判断其是否为直角三角形和等腰三角形。

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: CT...

《C++第六周实验报告2-1》----按要求将缺少的代码填进去

//a #include using namespace std; class A { private: int a; public: A() { a=0; } A(int aa...

第六周实验报告(1)

*烟台大学计算机学院学生 *作者:  王 琦 *文件内容: 修改错误代码 *题目:下面的程序存在编译错误。两种方法可以修改,请给出这两种。更倾向于哪一种,处理此问题的原则是什么? *完成时间 ...

《C++第六周实验报告5-1》---将任务4的解决用一个项目多个文件的方式实现

//main.cpp /* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * ...

第六周实验报告 任务4 设计一个三角形类 输入三角形的三个顶点 求面积周长

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生  * All rights reserved. * 文件名称:设计...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第六周实验报告1
举报原因:
原因补充:

(最多只允许输入30个字)