(10)C++ 使用类

  一、运算符重载

1.

#include<iostream>
using namespace std;

class Sum {
    int add;
public:
    Sum(int add) {
        this->add = add;
    }
    int operator+(const Sum & sum) const {
        int res;
        res = this->add + sum.add;
        return res;
    }
    int show() {
        return add;
    }
};
int main() {
    Sum sum1(10);
    Sum sum2(20);
    int c=sum1.operator+(sum2);
    cout << c << endl;
    int d = sum1 + sum2; //等同于
    cout << d << endl;
}

 

2.运算符重载限制

重载运算符时操作数至少有一个是用户定义的类型

3.不能创建新运算符

4.不能重载以下运算符:

sizeof

.     .*    ::    ?:

typeid    const_cast   dynamic_cast

reinterpret_cast   static_cast

5.可重载的运算符

+  -  *  /  %  ^  &  |  ~=  !  =  <  >  +=  -=  *=  /=  %=  ^=  &=  |=

<<  >>  >>=  <<=  ==  !=  <=  >=  &&  ||  ++  --  ,  ->*  ->

()  []  new  delete  new[]  delete[]

 

 

二、友元

 1友元函数

类外的函数可以访问类内的私有成员。

class Sum {
    friend void vistor(Sum& sum);//表示vistor函数可以访问我这个类
    int a = 9;
public:
    int b = 10;
};

void vistor(Sum & sum) {
    cout << sum.a; 
}

int main() {

}

 

 

三、类的自动转换和强制类型转换

 

posted @ 2019-09-27 14:50  富坚老贼  阅读(133)  评论(0编辑  收藏  举报