c++简记—类和对象

5.2 类的定义
类体中定义类的数据和方法,其中数据描述的是类的特征,也称之为属性或数据成员,方法实际上是类中定义的函数,也称之为方法,描述的是类的行为。
5.3 类的实例化
在定义一个类之后,并不能够直接使用类,需要定义一个类的对象,通常也成为类的实例化。
定义类时,如果没有类成员的访问级别,则不能通过编译。
类成员有种访问级别,分别是public、protected和private
public标记的成员成为共有成员,public成员可以在程序的任意地方进行访问。
protected标记的成员成为保护成员,该成员只能在该类和该类的派生(子类)中访问,除此之外,程序的其他地方不能访问保护成员。
private标记的成员成为私有成员,该成员只能在该类中访问,派生类以及程序的其他地方均不能访问私有成员。
如果在定义类时没有指定访问限定符,默认为private.
5.4 构造函数和析构函数
在c++语言中,每一个类都具有构造函数和析构函数。
构造函数在定义或构建对象时调用,析构函数在对象释放时调用。如果用户没有显示地为类提供构造函数和析构函数,系统会为其提供默认的构造函数和析构函数。
在编写c++类时,通常在构造函数中初始化数据成员,在析构函数中释放一些资源,进行对象的清理工作。


5.13 隐藏的this指针
在定义多个类对象时,每一个类对象都有自己的一份数据成员(静态成员除外).
char* GetUserName() const{
return (char*)m_Username;
}
在GetUserName函数体中如何区分m_Username成员属于User对象还是defUser对象呢?答案是通过this指针。
在每个类的成员函数(非静态成员函数)中都隐藏包含一个this指针,指向被调用对象的指针,对于非const方法,this指针的格式为“类型* const this”,在const方法中,
this指针的格式是“const类型* const this”.
实际上,编译器为了实现this指针,在成员函数中自动添加了this指针对数据成员的访问。此外,为了将this指针指向当前调用对象,并在成员函数中能够使用,在每个成员
函数中都隐含包含一个this指针作为函数参数,并在函数调用时将对象自身的地址隐含作为实际参数传递。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值