• jQuery火箭图标返回顶部代码


    用成员函数重载运算符:

     1 #include "stdafx.h"
     2 #include<iostream>
     3 using namespace std;
     4 class Complex {
     5 private:
     6     double real, imag;
     7 public:
     8     Complex(double r = 0.0, double i = 0.0);
     9     Complex operator+(Complex c);
    10     Complex operator-(Complex c);
    11     void display();
    12 };
    13 
    14 Complex::Complex(double r, double i)
    15 {
    16     real = r;
    17     imag = i;
    18 }
    19 
    20 Complex Complex::operator+(Complex c)
    21 {
    22     Complex temp;
    23     temp.real = real + c.real;
    24     temp.imag = imag + c.imag;
    25     return temp;
    26 }
    27 
    28 Complex Complex::operator-(Complex c)
    29 {
    30     Complex temp;
    31     temp.real = real - c.real;
    32     temp.imag = imag - c.imag;
    33     return temp;
    34 }
    35 
    36 void Complex::display()
    37 {
    38     char ch;
    39     ch = (imag < 0) ? ' ' : '+';
    40     cout << real << ch << imag << "i" << endl;
    41 }
    42 
    43 int main()
    44 {
    45     Complex c1(12.4, 13.3);
    46     Complex c2(14.4, 26.5);
    47     Complex c;
    48     cout << "c1=";
    49     c1.display();
    50     cout << "c2=";
    51     c2.display();
    52     c = c1 + c2;
    53     cout << "c1+c2=";
    54     c.display();
    55     c = c1 - c2;
    56     cout << "c1-c2=";
    57     c.display();
    58     return 0;
    59 }

    用友元函数重载运算符:

     1 #include "stdafx.h"
     2 #include<iostream>
     3 using namespace std;
     4 class Complex {
     5 private:
     6    double real, imag;
     7 public:
     8    Complex(double r = 0.0, double i = 0.0);
     9    friend Complex operator+(Complex c1,Complex c2);
    10    friend Complex operator-(Complex c1,Complex c2);
    11 void display();
    12 };
    13 
    14 Complex::Complex(double r, double i)
    15 {
    16    real = r;
    17    imag = i;
    18 }
    19 
    20 Complex operator+(Complex c1,Complex c2)
    21 {
    22    Complex temp;
    23    temp.real = c1.real + c2.real;
    24    temp.imag = c1.imag + c2.imag;
    25    return temp;
    26 }
    27 
    28 Complex operator-(Complex c1,Complex c2)
    29 {
    30    Complex temp;
    31    temp.real = c1.real - c2.real;
    32    temp.imag = c1.imag - c2.imag;
    33    return temp;
    34 }
    35 
    36 void Complex::display()
    37 {
    38    char ch;
    39    ch = (imag < 0) ? ' ' : '+';
    40    cout << real << ch << imag << "i" << endl;
    41 }
    42 
    43 int main()
    44 {
    45    Complex c1(12.4, 13.3);
    46    Complex c2(14.4, 26.5);
    47    Complex c;
    48    cout << "c1=";
    49    c1.display();
    50    cout << "c2=";
    51    c2.display();
    52    c = c1 + c2;
    53    cout << "c1+c2=";
    54    c.display();
    55    c = c1 - c2;
    56    cout << "c1-c2=";
    57    c.display();
    58    return 0;
    59 }

    单目运算符重载(自加·自减)

    用成员函数重载运算符:

     1 #include "stdafx.h"
     2 #include<iostream>
     3 using namespace std;
     4 class Counter {
     5 private:
     6    unsigned value;            //unsigned不加类型名时,默认表示无符号整型
     7 public:
     8    Counter() { value = 0; }
     9    Counter(int i) { value = i; }
    10    Counter operator++();
    11    Counter operator++(int);
    12    Counter operator--();
    13    Counter operator--(int);
    14    void display() { cout << value << endl; }
    15 };
    16 
    17 Counter Counter::operator++()
    18 {
    19    value++;
    20    return *this;
    21 }
    22 
    23 Counter Counter::operator++(int)
    24 {
    25    Counter temp;
    26    temp.value = value++;
    27    return temp;
    28 }
    29 
    30 Counter Counter::operator--()
    31 {
    32    value--;
    33    return *this;
    34 }
    35 
    36 Counter Counter::operator--(int)
    37 {
    38    Counter temp;
    39    temp.value = value--;
    40    return temp;
    41 }
    42 
    43 int main()
    44 {
    45    Counter n(10);
    46    Counter c;
    47    c = ++n;
    48    cout << "前缀++运算符计算结果:" << endl;
    49    cout << "n=", n.display();
    50    cout << "c=", c.display();
    51    c = n++;
    52    cout << "后缀++运算符计算结果:" << endl;
    53    cout << "n=", n.display();
    54    cout << "c=", c.display();
    55    c = --n;
    56    cout << "前缀--运算符计算结果:" << endl;
    57    cout << "n=", n.display();
    58    cout << "c=", c.display();
    59    c = n--;
    60    cout << "后缀--运算符计算结果:" << endl;
    61    cout << "n=", n.display();
    62    cout << "c=", c.display();
    63    return 0;
    64 }

    用友元函数重载运算符:

     1 #include "stdafx.h"
     2 #include<iostream>
     3 using namespace std;
     4 class Counter {
     5 private:
     6    unsigned value;       //unsigned不加类型名时,默认表示无符号整型
     7 public:
     8    Counter() { value = 0; }
     9    Counter(int i) { value = i; }
    10    friend Counter operator++(Counter&);
    11    friend Counter operator++(Counter& ,int);
    12    friend Counter operator--(Counter&);
    13    friend Counter operator--(Counter& ,int);
    14    void display() { cout << value << endl; }
    15 };
    16 
    17 Counter operator++(Counter& p)
    18 {
    19    p.value++;
    20    return p;
    21 }
    22 
    23 Counter operator++(Counter& p,int)
    24 {
    25    Counter temp;
    26    temp.value = p.value++;
    27    return temp;
    28 }
    29 
    30 Counter operator--(Counter& p)
    31 {
    32    p.value--;
    33    return p;
    34 }
    35 
    36 Counter operator--(Counter& p ,int)
    37 {
    38    Counter temp;
    39    temp.value = p.value--;
    40    return temp;
    41 }
    42 
    43 int main()
    44 {
    45    Counter n(10);
    46    Counter c;
    47    c = ++n;
    48    cout << "前缀++运算符计算结果:" << endl;
    49    cout << "n=", n.display();
    50    cout << "c=", c.display();             //这句话相当于 cout<<"c=";
    51    c = n++;                                           //c.display();
    52    cout << "后缀++运算符计算结果:" << endl;
    53    cout << "n=", n.display();
    54    cout << "c=", c.display();
    55    c = --n;
    56    cout << "前缀--运算符计算结果:" << endl;
    57    cout << "n=", n.display();
    58    cout << "c=", c.display();
    59    c = n--;
    60    cout << "后缀--运算符计算结果:" << endl;
    61    cout << "n=", n.display();
    62    cout << "c=", c.display();
    63    return 0;
    64 }

    最后来一组运行结果:

  • 相关阅读:
    【模仿】一个充满BUG的小程序
    JAVA中的内部类
    oracle删除实例的方法
    牢记每个死循环都要有跳出语句【这个要看】
    删除无效服务的命令
    Oracle触发器和new、old特殊变量
    Python模块之os 系统操作
    Python模块之pyautogui 模拟按下键盘
    Python模块之platform 获取平台信息
    Python官方内置函数V3.10详解
  • 原文地址:https://www.cnblogs.com/Trojan00/p/8809234.html
Copyright © 2020-2023  润新知