c++primer plus阅读笔记(五)

来源:互联网 发布:类似trackid的软件 编辑:程序博客网 时间:2024/06/04 18:22

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);//方式1a=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);//方式1cout<<a;             //方式2

转换函数–成员函数

可以将对象转化成基本类型的成员函数

class Time{    ...    int num_=2;    operator int(){        return num_'     }    ...};//和c++中的强转是一样的Time a;int num=int(a);
原创粉丝点击