Lesson3

不能重载的运算符

.    ::     .*     ?:   sizeof

 

重载为成员函数时 不能作为左值的 不能返回引用

要能作为左值 则返回引用

 

左移右移运算符的重载

返回值不作为重载判断的标准

 

c++通过一个占位参数来区分前置和后置运算

 

Complex operator ++(int);

Complex &operator ++();

 

Complex Complex::operator++(int)//后置增量

{

Complex tmp =(*this);  //c1++=>原来的值(tmp)

m_a++;

m_b++;

return tmp;                          //c1=>增量后(*this)

}

 

Complex &Complex::operator++()  //前置增量

{

++m_a;

++m_b;

return *this;

}

 

重载流输入输出运算符只能声明为友元函数

friend ostream &operator <<(ostream &out, const Complex &cc);

 

运算符重载时 形参一般为对象的常引用 目的是为了保护实参不被修改

Complex operator +(const Complex &c);

参数使用对象的引用好处是节省空间 效率高

 

&&和||不要重载 因为会违背短路原则

 

友元函数重载运算符常用于运算符的左右操作数类型不同的情况

 

当无法修改左操作数的类时,使用全局函数进行重载

 

=, [], ()和->操作符只能通过成员函数进行重载

 

静态成员函数没有默认的this指针 只能对静态数据成员进行操作 不能直接访问类的非静态数据成员

 

常数据成员的初始化只能通过构造函数的成员初始化列表形式来实现

Student *s1[10]  //对象指针数组  是一个数组 其数组元素是指向相同类的对象的指针

Student (*s1)[10]    //指向对象数组的指针  是一个指针 指向有10个对象的数组

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值