C++类和对象-对象特性(4)

一.成员变量和成员函数分开存储

在C++中,类内的成员变量和成员函数分开存储只有非静态成员变量才属于类的对象上

空对象占用内存空间为:1
C++编译器会给每一个空对象也分配一个字节的空间,为了区分对象占内存的位置
每一个空对象也应该有一个独一无二的内存地址

静态成员变量,非静态成员函数,不属于类对象上

二.this指针概念

C++通过提供特殊的对象指针,this指针指向被调用的成员函数所属的对象

  • this指针是隐含每一个非静态成员函数内的一种指针
  • this指针不需要定义,直接使用即可

本质:是指针常量 person * const this

用途

  • 当形参和成员变量同名的时候,可以用this指针区分
  • 在类的非静态成员函数中返回对象本身,可以用return *this(链式操作)

三.空指针访问成员函数

C++空指针也是可以调用成员函数的,但是也要注意有没有用到this指针

如果用到this指针,需要加以判断保证代码的健壮性

四.const修饰成员函数

常函数

  • 成员函数后加const后我们称为这个函数为常函数
  • 常函数内不可以修饰成员属性
  • 成员属性声明时加关键字mutable后,在常函数中依然可以修改

常对象

  • 声明对象前可以加const称该对象为常对象
  • 常对象只能调用常函数
posted @   Eric`  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
点击右上角即可分享
微信分享提示