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;
(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;
相关文章推荐
- Xcode 6 打包ipa文件
- eclipse启动闪退问题解决方法
- 面试书推荐
- 本地测试IIS,Post调用接口
- PHP获取指定时间的上个月
- Maven入门系列
- [Erlang]Binary结构和性能分析
- 关于Liunx的文件处理命令阐述
- hdoj 5045 期望dp
- 打造一个全命令行的Android构建系统
- Miller-Rabin素数测试
- 南邮 OJ 1958 计算机基础知识大赛 5
- Fruit
- 嵌入式Qt4.7.1安装详解
- Comparable与Comparator的区别
- .NET .NET Framework C#
- JS学习第五天----类型,值,和变量
- linux 日常命令
- Ubuntu系统opencv配置教程
- hdu5338 (二进制,双指针)