存在编译错误的程序和改后的程序比较

原创 2012年03月26日 18:22:48
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
* 文件名称:       找错误并改正                       
* 作    者:       田庆                       
* 完成日期:   2012      年 3      月    26    日
* 版 本 号:          

* 对任务及求解方法的描述部分
* 输入描述: 
* 问题描述: 
* 程序输出: 
* 程序头部的注释结束
*/
原错误程序如下:
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");
}
改正方法一:
#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()<<endl;
	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()<<endl;
	system("pause");
}
我更倾向于第二种,因为常对象有一定的保护作用,其值不能轻易被改变,虽然多加个字母吧,但对程序来说更安全,而第一种是我们以前经常用的安全性不高。所以还是第二个比较好些。原则是先看清是什么类型的const注意它的访问对象。
 

相关文章推荐

第六周实验指导--下面的程序存在编译错误,请给出两种修改方案--说明处理此类问题的原则是什么

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

C++第六周任务一【任务1】下面的程序存在编译错误。有两种方法可以修改,请给出这两种修改方案,在报告中说明你倾向于用哪一种?为什么?处理此类问题的原则是什么?

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

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

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

vc6.0+DDK(xp-2600)游戏手柄按键信息获取程序出现的编译错误

最近帮一个师兄做游戏手柄按键信息获取的小程序,用到了winxp_ddk,版本是2600的,在网上找了半天才找到一个安装文件,安装后,在vc中设置include和lib的目录,分别是"D:\WINDDK...

黑马程序员-程序编译错误总结01

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------

PCI驱动程序--编译错误函数

这段是PCI设备驱动的遍历信息函数,实现了遍历PCI的设备的具体配置信息#pragma PAGEDCODENTSTATUS InitMyPCI(IN PDEVICE_EXTENSION pdx,IN ...
  • appearl
  • appearl
  • 2011年05月11日 17:18
  • 1004

C语言编译错误信息集锦

  • 2015年08月23日 08:22
  • 74KB
  • 下载

C51编译错误翻译

  • 2017年04月06日 19:11
  • 115KB
  • 下载

yaffs2 移植到mini2440上出现的编译错误

linux内核版本:2.6.36.1 OS:ubuntu 10.4 开发板:友善mini2440 bootloader: supervivi 在输入make zImage后,出...
  • hpwzd
  • hpwzd
  • 2012年03月18日 09:54
  • 3182
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:存在编译错误的程序和改后的程序比较
举报原因:
原因补充:

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