全国统一服务热线

400-6263721

  • 1
  • 2
  • 3
  • 4

C++编程进阶级—常函数、常对象

  今天我们来了解常函数和常对象的相关应用。

  从常量我们知道就是一个不能被修改的量,使用前要初始化。那么常函数和常对象又是什么呢?

  首先我们还是来看看实例代码

  代码中大致分为三部分,首先是定义了一个类,类的成员函数全部定义在public里面并且都用const修饰,也就是都是常函数。

  第二部分是一个全局函数show()用于打印参数对象的信息,并接受一个对象作为参数,此时会调用Rectangle的默认拷贝构造函数。

  第三部分是主函数,先实例化一个对象,然后把这个对象作为参数交给show函数处理。 下面我们来看看运行结果:

  输出了两个坐标和面积。

  笔记:

  常函数也就是常成员函数,表示这个函数只读取对象的数据不会(也不能)修改成员数据。一般的我们把这种只读函数都加上const来修饰,而不加const的则一般表示普通的成员函数(会修改对象的成员是数据)。

  常成员函数中“常”针对的是函数隐含参数this指针所指向对象的相关数据不能修改。上一期我们在聊this指针的时候了解到,对于所有的成员函数都有一个默认的隐含参数this指针。

  也就是说常函数不能是全局函数,如:上面代码第44行如果在后面加上const就会出现错误,因为全局函数没有隐含的this指针,在加上const之后也就找不到要限定的区域。

  另外正因为const限定的this指针所指向的对象数据不能修改,换句话说就是可以修改非this指针所指向的数据。

  比如静态成员变量static member可以被const修饰的成员函数修改,因为静态数据成员没有this指针,由所有的对象共享。

  而常对象是指被const修饰的对象,常对象一经初始化就不能再修改其中的任何数据,只有常函数能够操作常对象。

尊重原创文章,转载请注明出处与链接:http://www.mxiao.cn/1337/new/225513/违者必究! 以上就是佛山童程童美少儿编程培训学校 小编为您整理C++编程进阶级—常函数、常对象的全部内容。

推荐课程 / RECOMMENDED COURSE

  • 佛山EV3儿童智能机器人编程培训

  • 佛山WEDO机器人儿童编程培训

  • 佛山儿童人工智能python编程培训

  • 佛山scrach图形化编程培训

  • 查看更多>>

定制专属于你的课程

10秒登记,定制专属于你的课程方案

填写下表,让专业老师根据你的性格爱好选择最适合你的。

版权所有:佛山童程童美少儿编程培训学校

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6263721