当前位置:  编程技术>c/c++/嵌入式

C++常对象精讲_const关键字的用法

    来源: 互联网  发布时间:2014-10-21

    本文导语:  const关键字: 用const修饰的定义对象称为常对象; 用const修饰的声明成员函数称为常成员函数; 用const修饰的声明数据成员称为常数据成员。 变量或对象被 const修饰后其值不能被更新。因此被const修饰的变量或对象必须要进行...

const关键字:

用const修饰的定义对象称为常对象;

用const修饰的声明成员函数称为常成员函数;

用const修饰的声明数据成员称为常数据成员。

变量或对象被 const修饰后其值不能被更新。因此被const修饰的变量或对象必须要进行初始化。

常对象说明:常对象是指对象的数据成员的值在对象被调用时不能被改变。常对象必须进行初始化,且不能被更新。不能通过常对象调用普通成员函数,但是可以通过普通对象调用常成员函数。常对象只能调用常成员函数。常对象的声明如下:

const         
   const      

两种声明完全一样没有任何区别。

1、通过下面例子来理解常对象:
A、请指出下面程序的错误

代码如下:

class A{
private:
     int w,h;
public:
     int getArea() const
     {  
         return w*h;
     }
     int getW(){ return w;}

     void setWH(int x,int y) {w=x,h=y;}
     A(int x,int y){w=x,h=y;}
     A(){;}//本例中不能省略
};

 
void main()
{  
     A a;//非常对象可以不初始化
     a.setWH(3,9);
     A const b;    //常对象必须声明的同时初始化,正确的是 A const b(3,6)。
     b.setWH(3,7); // 假如上面改正后用这一句,还是错误应为b是常对象不能调用非常成员函数,切其值调用时不能改变,setWH()
     cout

    
 
 

您可能感兴趣的文章:

  • c++类对象初始化方式
  • C++对象池 C++ ResourcePool
  • c++类对象数组初始化方式
  • C++远程对象访问框架 ROXS
  • C++对象模拟测试 Turtle
  • C++里能不能在指定的一块内存中创建对象的实例?
  • C++中指向对象的常指针与指向常对象的指针详解
  • C++函数返回值为对象时,构造析构函数的执行细节
  • C++实现动态分配const对象实例
  • 请教高手,C++返回类对象引用问题
  • 解析c++中参数对象与局部对象的析构顺序的详解
  • C++用new创建对象和不用new创建对象的区别解析
  • C++中的对象数组详细解析
  • C++内核对象封装单实例启动程序的类
  • C++中四种对象生存期和作用域以及static的用法总结分析
  • C++中的常对象与常对象成员详解
  • C++中对象的常引用总结
  • C++临时性对象的生命周期详细解析
  • 深入c++中临时对象的析构时机的详解
  • C++中的函数指针与函数对象的总结
  • C++对象的动态建立与释放详解
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • php中检测变量是否是一个对象的is_object函数介绍及用法举例
  • PHP面向对象程序设计之类常量用法实例
  • jQuery中wrap()的用法-匹配对象包含在给出的元素代码内
  • PHP面向对象程序设计之接口用法
  • jQuery中事件对象e的事件冒泡用法示例介绍
  • asp的RegExp对象正则表达式功能用法[比较全]
  • Python namedtuple对象json序列化/反序列化及对象恢复
  • jquery对象和javascript对象即DOM对象相互转换
  • c#对象中两种copy操作:深拷贝(Deep Copy)与浅拷贝(Shallow Copy)
  • 请问如何把StringBuffer 的对象转化成一个InputStream 的对象,或者InputStream 子类的对象也可以!
  • java tomcat实现Session对象的持久化原理及配置方法介绍
  • 判断一个对象是否为jquery对象的方法
  • 将ResultSet结果集中的记录映射到Map对象中
  • Glib对象系统(也称为"GObject")内部是如何实现面向对象特征的呢?
  • php 5.5.14数据对象(PDO)介绍及PDO的预定义常量介绍
  • 用RMI进行远程对象调用的时候,可不可以实现多个调用远程对象的并发操作
  • 你们看是不是可以这样理解:在用来进行两个对象的比较时,==操作符用来比较两个对象的引用地址,而equals()用来比较两个对象的值。
  • 请问:能不能动态的运行时生成对象(动态定义对象), 要涉及到哪些技术, 反射,序列化...??
  • 重新编译PLSQL中的无效对象或者指定的对象 的方法
  • jquey笔记之dom对象与jquery对象互换的例子
  • 有人问我:何为面向对象编程?我给不出确切或形象的说法。谢!vb、pb等开发工具是不是面向对象编程的语言。
  • 写一个方法,向它传递一个对象,循环打印出对象层次结构中的所有类?thinking in java里面的一个习题不知道如何做请教高手?
  • “当某个实例不再被任何对象引用时就会被垃圾回收机制回收”,那么怎样才算是不被任何对象引用呢?
  • 我的APPLET在Jbuilder5中,可以调用EJB对象,但是移植到网页上却不能调用EJB对象!是何缘故,值得研究!
  • 各位高手知道在JAVA中如何用一个名称创建一个对象实例,并调用其方法,注意:在编写代码时并不知要创建的对象的类名,也并不知方法名
  • 1. 请问linux下可以使用“typedef list<对象*> 对象列表名 ”和iterator吗?
  • 使用XmlSerializer序列化List对象成XML格式(list对象序列化)




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3