c++中的运算符重载---知识点:运算符重载函数,友元函数,函数重载
生活随笔
收集整理的這篇文章主要介紹了
c++中的运算符重载---知识点:运算符重载函数,友元函数,函数重载
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一.前言
目前在準備考研中,順便水幾篇博客,找找樂子。代碼部分均為原創,都是自己的思路解題。
二.內容
題目:定義一個復數類Complex,重載運算符“+”,使之能用于復數的加法運算。參加運算的兩個運算量可以都是類對象,也可以其中有一個是整數,順序任意。例如,c1+c2,i+cl,cl+i均合法(設i為整數cl,c2為復數)。編寫程序,分別求兩個復數之和、整數和復數之和。
三.代碼
#include<iostream> using namespace std; class Complex{public:Complex(){real=0;imag=0;}Complex(double r,double i):real(r),imag(i){}void display();//顯示復數Complex operator+(Complex &y);Complex operator+(int&a);//重載運算符+ ,適用于一個復數,一個整數 friend Complex operator+(int&a,Complex &comp);//重載運算符+ ,適用于一個整數,一個復數private:double real;//實根 double imag;//虛根 }; void Complex::display() {//顯示復數cout<<"("<<real<<","<<imag<<"i)"; }Complex Complex:: operator+(Complex &y){//重載運算符+ ,適用于兩個復數 return Complex(real+y.real,imag+y.imag); }Complex Complex:: operator+(int&a){//重載運算符+ ,適用于一個復數,一個整數return Complex(real+a,imag); }Complex operator+(int&a,Complex &comp){//重載運算符+ ,適用于一個整數,一個復數return Complex(comp.real+a,comp.imag); }int main(){Complex c1(3,4),c2(5,-10),c3;c3=c1+c2;cout<<"c1+c2=";c3.display() ;cout<<endl;int i=5;c3=i+c1;cout<<i<<"+";c1.display() ;cout<<"=";c3.display() ;c3=c1+i;cout<<endl;c1.display() ;cout<<"+"<<i;cout<<"=";c3.display() ;return 0; }總結
以上是生活随笔為你收集整理的c++中的运算符重载---知识点:运算符重载函数,友元函数,函数重载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python 读写CSV文件
- 下一篇: placement new--《C++必