zoukankan      html  css  js  c++  java
  • 6_1const对象运用的错误

    /*
    * 程序的版权和版本声明部分
    * Copyright (c)2012, 烟台大学计算机学院学生
    * All rightsreserved.
    * 文件名称: object.cpp
    * 作者:纪子龙
    * 完成日期: 2013年4 月 4 日
    * 版本号: 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;
    }
    //错误:非const对象的数据成员只能由从const成员函数引用不能改变非const成员函数既不可引用有不可改变;
    具体修改方案:
    1.
    #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);//将c定义为非const对象
    	cout<<c.getX();
    	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()  const{return x;}//将getX定义为const成员函数
    };
    int main()
    {
    	const C c(5);
    	cout<<c.getX();
    	return 0;
    }
    总结:
      本人更偏向于第二种方式保证了对象数据成员的封闭性


  • 相关阅读:
    io
    api 类库
    文档生成工具
    数据存储
    uml vs2010
    IE,firefox下jquery获取一组checkbox选中值的问题
    如何通过Jquery简单又快速的获取一组radio的取值呢?
    WCF重载的方式
    Jquery文本框赋值
    Jquery以name获取值
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3000339.html
Copyright © 2011-2022 走看看