项目一----修改程序

来源:互联网 发布:阿里云的et是什么意思 编辑:程序博客网 时间:2024/05/16 15:27
/*     * Copyright (c) 2013, 烟台大学计算机学院                         * All rights reserved.                         * 文件名称:text.cpp                         * 作者:胡颖                       * 完成日期:2013 年 4月 5日                         * 版本号:v1.0                       *                         * 输入描述:无                   * 问题描述: 用两种方法改错                   * 程序输出:无 *问题分析:                        * 算法设计:略                         */     //原程序 #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(){  const C c(5);  cout<<c.getX();  return 0;}


错误提示:

//方法一:#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();  return 0;}


运行结果:

//方法二:#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();  return 0;}


方法评价:我倾向第二种,第一种去掉const,改变了成员的类型,影响程序较大,而第二种,将函数变为常成员函数,既可以引用const数据成员,也可以引用非const的数据成员,一举两得。

原创粉丝点击