第六周实验报告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中的所有数据成员的值都不能被修改,所以如果希望保证数据成语不被改变的对象,可以声明为常对象,此时自然第二种订正方式更好。

南邮算法分析与设计实验1 分治策略

南邮算法分析与设计实验1 分治策略
  • Tc_To_Top
  • Tc_To_Top
  • 2015年06月03日 17:15
  • 1626

数据结构实验报告 栈和队列

一、实验目的1.掌握栈、队列的思想及其存储实现。 2.掌握栈、队列的常见算法的程序实现。二、实验仪器及环境:PC计算机 windows 7操作系统 CodeBlocks10.05三、实验内容...
  • wuxuanyi27
  • wuxuanyi27
  • 2016年04月26日 20:30
  • 1507

操作系统ucore lab6实验报告

操作系统lab6实验报告
  • qq_19876131
  • qq_19876131
  • 2016年06月18日 20:12
  • 4399

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

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

第六周实验报告任务1

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: ...
  • wangyinlin1143
  • wangyinlin1143
  • 2012年03月28日 12:27
  • 307

第六周实验报告1

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称: 错...
  • yuchenziyou
  • yuchenziyou
  • 2012年03月25日 22:40
  • 356

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

/* (程序头部注释开始) * 程序的版权和版本声明部分 * Copyright (c) 2011, 烟台大学计算机学院学生 * All rights reserved. * 文件名称:  ...
  • sdliujiangbo
  • sdliujiangbo
  • 2012年03月25日 22:41
  • 460

第六周实验报告4(1)

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

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

//a #include using namespace std; class A { private: int a; public: A() { a=0; } A(int aa...
  • w695050167
  • w695050167
  • 2012年03月26日 21:30
  • 822

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

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

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