CPP类和对象—Complex的编写

xiaoxiao2021-02-27  232

Complex代码如下:

#include <iostream> using namespace std; class Complex { public: // 1.完成四个默认成员函数 Complex(double real = 0.0, double image = 0.0) //初始化 { cout << "Complex(double real=0.0,double image=0.0)" << endl; _real = real; _image = image; } Complex(const Complex& c) //构造函数 { cout << "Complex(const Complex& c)" << endl; _real = c._real; _image = c._image; } ~Complex() //析构函数 { cout << "~Complex" << endl; } Complex& operator=(const Complex& c) ///赋值运算符重载 { cout << "Complex& operator=(const Complex& c)" << endl; if (this != &c) { _real = c._real; _image = c._image; } return *this; } // 2.比较运算符 //operator> bool operator>(const Complex& c) { while (_image == 0) { if (_real > c._real) return true; else return false; } } //operator== bool operator==(const Complex& c) { return _real == c._real&&_image == c._image; } //operator>= bool operator>=(const Complex& c) { return *this > c || *this == c; } //operator< bool operator<(const Complex& c) { return !(*this >= c); } //operator<= bool operator<=(const Complex& c) { return !(*this>c); } //operator!= bool operator!=(const Complex& c) { return !(*this == c); } // 3.前置后置++和+/+=的实现 Complex& operator++() //前置++ { this->_real += 1; return *this; } Complex operator++(int) //后置++ { Complex tmp(*this); _real += 1; return tmp; } //operator+ Complex operator+(double real) { Complex tmp(*this); tmp._real += real; return tmp; } //operator+= Complex operator+=(double real) { *this = *this + real; return *this; } void Display() { cout << _real << "-" << _image << endl; } protected: double _real; double _image; };
转载请注明原文地址: https://www.6miu.com/read-8570.html

最新回复(0)