(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() { }
三、类的自动转换和强制类型转换