国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表

圖片精選

主站蜘蛛池模板: 岱山县| 古浪县| 荣成市| 祁阳县| 墨竹工卡县| 湖南省| 南汇区| 铁岭县| 定安县| 大姚县| 名山县| 麟游县| 遂宁市| 招远市| 宝清县| 宜兰县| 洱源县| 肃宁县| 广元市| 蚌埠市| 温泉县| 苍山县| 永善县| 绥化市| 山东省| 泽普县| 灌南县| 广宁县| 时尚| 吕梁市| 鹤庆县| 宜宾县| 潮安县| 阿鲁科尔沁旗| 景洪市| 永清县| 木兰县| 桑植县| 平安县| 军事| 延寿县|