c++简记—类和对象

来源:互联网 发布:2017年中国离婚率数据 编辑:程序博客网 时间:2024/04/30 06:41
5.2 类的定义类体中定义类的数据和方法,其中数据描述的是类的特征,也称之为属性或数据成员,方法实际上是类中定义的函数,也称之为方法,描述的是类的行为。5.3 类的实例化在定义一个类之后,并不能够直接使用类,需要定义一个类的对象,通常也成为类的实例化。定义类时,如果没有类成员的访问级别,则不能通过编译。类成员有种访问级别,分别是public、protected和privatepublic标记的成员成为共有成员,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
原创粉丝点击