C++中的多态

多态性是面向对象程序设计的重要特征之一。多态性是指发出同样的消息被不同类型的对象接收时有可能导致完全不同的行为。

多态的实现方式包括以下3种:函数重载、运算符重载、虚函数。

1、运算符重载:

C++中的多态
 1 #include<iostream>
 2 using namespace std;
 3 
 4 class Complex
 5 {
 6 private:
 7     int real,imag;
 8 public:
 9     void show() const;
10     Complex operator +(const Complex c);
11     Complex operator -(const Complex c);
12     /*
13     Complex(int a=0,int b=0)
14     {
15         real=a;imag=b;
16     }
17     */
18     Complex(int a=0,int b=0):real(a),imag(b)
19     {}
20 };//don‘t forget this!
21 
22 void Complex::show() const
23 {
24     cout<<"real:"<<real<<"imag:"<<imag<<endl;
25 }
26 
27 Complex Complex::operator +(const Complex c)
28 {
29     Complex ret;
30     ret.real=real+c.real;
31     ret.imag=imag+c.imag;
32     return ret;
33 }
34 
35 Complex Complex::operator -(const Complex c)
36 {
37     Complex ret;
38     ret.real=real-c.real;
39     ret.imag=imag-c.imag;
40     return ret;
41 }
42 
43 int main()
44 {
45     Complex a(2,3),b(-1,5),c,d;
46     a.show();
47     b.show();
48     c=a+b;
49     d=a-b;
50     c.show();
51     d.show();
52     return 0;
53 }
C++中的多态

注意运算符重载操作数个数:重载为类的成员函数时,参数个数=原操作数个数-1(后置++、--除外);重载为非成员函数时,参数个数=原操作数个数,且至少有一个自定义类型。

C++中的多态,布布扣,bubuko.com

C++中的多态

上一篇:Java Native方法


下一篇:用C++的类和结构体DIY静态链表及其接口函数