您的位置:首页 > 其它

12.1——类的定义与声明,隐含的this指针

2015-08-07 10:23 731 查看
类的定义与声明:

(1)将const放在成员函数的形参列表之后,可以将将成员函数声明为常量,而它的意思是函数不能改变所操作的数据成员

这里必须在声明和定义处都加上const。

(2)成员函数有一个隐含的实参,将函数绑定到调用函数的对象上

(3)struct定义的类默认下成员都是共有的,class定义的类默认下成员都是私有的

(4)重载:成员函数只能重载本类的成员函数。两个重载的成员函数的形参数量和类型不能完全的相同。

(5)一个类可以只声明而不定义,这个称为前向声明,不完全类,这样的类不能用来实例化对象,但是可以用来作为指针和

引用,也可以作为声明的函数中的形参。

(6)定义对象时将为其分配存储空间,一般而言定义类时不进行存储空间分配。

隐含的this指针:

(1)return *this 返回调用这个函数的操作对象(*this相当于对指向这个对象的一个解引用)

(2)在非const成员函数中,this类型返回的是指向类类型的const指针,即可以改变this指向的值,但不能改变this保存的地址

(3)在const成员函数中,this类型返回的是指向const类对象的const指针,即既不能改变其所指向的值,也不能改变保存它的

地址。

(4)不能从const成员数返回一个指向类的普通引用,而返回的是一个*this作为const引用

(5)基于成员函数是否为const可以重载成员函数,同样基于形参是否是指向const可以重载成员函数

(6)若是希望数据成员在const成员函数中可变,可有将其声明为:mutable int a;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: