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指针作为函数参数,并在函数调用时将对象自身的地址隐含作为实际参数传递。
c++简记—类和对象
最新推荐文章于 2022-10-06 23:46:29 发布