国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++運算符重載基礎(chǔ)

2019-11-11 05:55:10
字體:
供稿:網(wǎng)友

運算符重載的規(guī)則

為什么要操作符重載

在C++編輯器中,如果你定義的一個類型是一個基礎(chǔ)類型,那么我們進行一個運算的話完全沒有任何的問題比如,int a,b,c; c=a+b;這里的加號和我們平常理解的加號意義是完全一樣的,但是如果是類的話了,我們想做一個類的加減的話,這樣就不行了。所以我們才用到運算符的重載達到我們的目的。

規(guī)則

可以重載的運算符

+ - * / %^ & |        ~  ! =< > += -= *=/= %    ^=&= |= << >> >>= <<=  ==  !=    <=>= && || ++ --->* ‘ ->  []  () new  delete new[]delete[]

不可以重載的運算符

. :: .* ?: sizeof由于可以重載的運算符很多,所以我們只需要記住不可以重載的運算符。

重在運算符的限制

1.不改變運算符的優(yōu)先級2.不改變運算符的結(jié)合性3.不改變運算符所需要的操作數(shù)4.不能創(chuàng)建新的運算符

語法

類型   類名  ::  Operator  op ( 參數(shù)表 ){ // 相對于該類定義的操作}

代碼

對著代碼騎自行車
#include "iostream"using namespace std;class Complex{public:	Complex(int a, int b);	~Complex();		void PRintCmp()	{		cout << "a=" << a << "b=" << b << endl;	}public:	int a;	int b;};Complex::Complex(int a, int b){	this->a = a;	this->b = b;}Complex::~Complex(){}Complex add(Complex &c1, Complex &c2){	Complex c3(c1.b + c2.a, c1.b + c2.b);	return c3;}//運算符重載對+號的重載Complex operator+(Complex &c1, Complex &c2){	Complex c3(c1.a + c2.a, c1.b + c2.b);	return c3;}void main(){	Complex c1(1, 2), c2(2, 3);	//Complex c3 = add(c1, c2);	Complex c3 = c1 + c2;	c3.printCmp();	/*int a = 10;	int b = 11;	int c = a + b;	cout << c << endl;*/	system("pause");}定義了一個類,類要對相應(yīng)的數(shù)據(jù)進行相加減,這樣我們看到c3=c1+c2如果沒有操作符重載的話,只能通過add這個方法進行加減,如果有了操作符重載以后我們發(fā)現(xiàn)兩個類直接進行加減,我們就可以直接得到對應(yīng)的結(jié)果,這個很方便。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 开封县| 民勤县| 定西市| 兴隆县| 乌海市| 云林县| 邵阳县| 东丽区| 辉南县| 洛宁县| 锡林浩特市| 闽侯县| 美姑县| 政和县| 谢通门县| 潢川县| 临安市| 久治县| 资溪县| 綦江县| 治多县| 昭苏县| 尼玛县| 红河县| 泸水县| 庄浪县| 甘洛县| 寻乌县| 宿州市| 苍山县| 昌乐县| 旅游| 宜宾市| 灌阳县| 武乡县| 大姚县| 三门峡市| 龙州县| 正宁县| 仁化县| 张家口市|