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

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

C++運算符重載基礎

2019-11-11 05:06:12
字體:
來源:轉載
供稿:網友

運算符重載的規則

為什么要操作符重載

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

規則

可以重載的運算符

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

不可以重載的運算符

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

重在運算符的限制

1.不改變運算符的優先級2.不改變運算符的結合性3.不改變運算符所需要的操作數4.不能創建新的運算符

語法

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

代碼

對著代碼騎自行車
#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");}定義了一個類,類要對相應的數據進行相加減,這樣我們看到c3=c1+c2如果沒有操作符重載的話,只能通過add這個方法進行加減,如果有了操作符重載以后我們發現兩個類直接進行加減,我們就可以直接得到對應的結果,這個很方便。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 嘉义市| 酒泉市| 西昌市| 禹州市| 澜沧| 玉树县| 普格县| 白沙| 延寿县| 新丰县| 娱乐| 海盐县| 会昌县| 拉萨市| 两当县| 乡城县| 仁寿县| 娄底市| 泗水县| 汾阳市| 玉门市| 永吉县| 洛隆县| 日照市| 靖安县| 兴义市| 建平县| 桑植县| 普兰县| 连平县| 喀什市| 仲巴县| 井研县| 兴宁市| 佛山市| 疏勒县| 皋兰县| 闽侯县| 徐闻县| 微山县| 邳州市|