崔宰浩,绍兴新闻,神鬼传奇龙鳞坐标
#include <iostream> using namespace std; class imaginary{ friend imaginary operator+(int i, const imaginary &m); friend ostream& operator<<(ostream &os, const imaginary &m); friend istream& operator>>(istream &is, imaginary &m); public: imaginary():real(0), imag(0){ cout << "c:" << this << endl; } imaginary(int real, int imag):real(real), imag(imag){ cout << "c:" << this << endl; } imaginary operator+ (const imaginary &m){ return imaginary (real + m.real, imag + m.imag); } imaginary operator+ (int i){ return imaginary(real + i, imag); } imaginary& operator= (const imaginary &m){ cout << "asign" << endl; if(this != &m){ real = m.real; imag = m.imag; } return *this; } ostream& operator<<(ostream& os){ os << "[" << real << "," << imag << "]"; return os; } ~imaginary(){ cout << this << endl; } private: int real; int imag; }; imaginary operator+(int i, const imaginary &m){ return imaginary(i + m.real, m.imag); } ostream& operator<<(ostream &os, const imaginary &m){ os << "(" << m.real << "," << m.imag << ")"; return os; } istream& operator>>(istream &is, imaginary &m){ is >> m.real >> m.imag; return is; } int main(){ imaginary m1(10, 20); imaginary m2(1, 2); imaginary m3 = m1 + m2; imaginary m4 = m1 + 10; imaginary m5 = 20 + m1; cout << "a" << m5 << "aa" << endl;; m5 << cout << "bb" << endl; imaginary m6; cin >> m6; cout << m6 << endl; return 0; }
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
如何在没有core文件的情况下用dmesg+addr2line定位段错误
用QT制作3D点云显示器——QtDataVisualization
网友评论