编程小白浅谈基于c++的运算符重载(一、复数非友元+友元):
using namespace std;
class Complex
{
private:
double m_real; //实部
double m_img; //虚部
public:
Complex(double real = 0, double img = 0):m_real(real),m_img(img){} //构造函数(可省略,小白写是为了方便初始化)
Complex operator +(Complex c); //复数 + 重载函数
Complex operator -(Complex c); //复数 - 重载函数
Complex operator *(Complex c); //复数 * 重载函数
Complex operator /(Complex c); //复数 / 重载函数
bool operator ==(Complex c); //复数 ==重载函数
bool operator !=(Complex c); //复数 !=重载函数
void display(); //打印函数
};
void Complex::display() //不解释了
{
if(m_img >= 0)
cout << m_real << "+" << m_img << "i" <<endl;
using namespace std;
class Complex
{
private:
double m_real; //实部
double m_img; //虚部
public:
Complex(double real = 0, double img = 0):m_real(real),m_img(img){} //构造函数(可省略,小白写是为了方便初始化)
Complex operator +(Complex c); //复数 + 重载函数
Complex operator -(Complex c); //复数 - 重载函数
Complex operator *(Complex c); //复数 * 重载函数
Complex operator /(Complex c); //复数 / 重载函数
bool operator ==(Complex c); //复数 ==重载函数
bool operator !=(Complex c); //复数 !=重载函数
void display(); //打印函数
};
void Complex::display() //不解释了
{
if(m_img >= 0)
cout << m_real << "+" << m_img << "i" <<endl;