c++primer plus阅读笔记(五)
2017-09-15 11:14
288 查看
const成员函数
cont Time a; a.show(); //illegal //对于一个const对象,无法确定调用成员函数show()是否会改变a的数据成员,所以将会报错 //为此,提出了const成员函数限定该函数无法修改当前对象的数据成员,如下: class Time{ void show() const{ //当前成员函数不能修改当前对象的数据成员 } };
运算符重载–成员函数
对于运算符重载的成员函数来说,运算符左边的为对象,运算符右边的为第一个函数参数
//类中重载运算符 class Time{ ... Time operator +(const Time & t) const; } Time Time::operator+(const Time& t) const{ ... } Time a,b; //使用 a=a.operator+(b);//方式1 a=a+b; //方式2 //其中 operator +和operator+两种写法无论是在创建还是在调用的时候都可以使用。
运算符重载–非成员函数
对于运算符重载的非成员函数来说,运算符左边的第一个函数参数,运算符右边的为第二个函数参数
class Time{ ... ostream& Time::operator <<(ostream& tout,const Time& t) ; } ostream& Time::operator <<(ostream& tout,const Time& t){ ... return tout; } Time a; //使用 operator << (cout,a);//方式1 cout<<a; //方式2
转换函数–成员函数
可以将对象转化成基本类型的成员函数
class Time{ ... int num_=2; operator int(){ return num_' } ... }; //和c++中的强转是一样的 Time a; int num=int(a);
相关文章推荐
- c++ primer plus阅读笔记11---深拷贝与浅拷贝
- c++ primer plus阅读笔记4---struct
- c++primer plus阅读笔记(六)
- c++ primer plus阅读笔记6---内联函数引用变量
- C++ Primer Plus阅读笔记
- c++primer plus阅读笔记(七)
- c++ primer plus阅读笔记7---模板特化
- c++primer plus阅读笔记(十)
- c++ primer plus阅读笔记12---手动调用析构函数
- C++primer plus阅读笔记第四章
- c++ primer plus阅读笔记(三)
- c++ primer plus阅读笔记10---定位new using namespace
- c++ primer plus阅读笔记14---虚基类
- c++ primer plus阅读笔记13---虚函数 为什么要虚析构函数?
- c++ primer plus阅读笔记2---结构体共用体枚举
- c++ primer plus阅读笔记8---decltype
- c++ primer plus阅读笔记3---指针问题
- 【学习笔记】C++primer plus 10. 11. 12. 对象
- 2012/1/8 《C++ Primer Plus》第二章:开始学习C++ 学习笔记
- 2012/1/11 《C++ Primer Plus》第四章:复合类型 学习笔记