1. 程式人生 > >C++中派生類重寫基類過載函式

C++中派生類重寫基類過載函式

#include<iostream> using namespace std; class Base { public: virtual void print() {  //如果不加virtual,輸出的全是基類               cout << "print() in Base." << endl;        } void print(int a) {               cout << "print(int a) in Base." << endl;        } void print(string s) {
              cout << "print(string s) in Base." << endl;        } }; class Derived : public Base { public: void print() {               cout << "print() in Derived." << endl;        } }; int main() { Base b; Derived d; Base* bp = &d;        b.print();  //呼叫的是基類的print()
       b.print(8);        b.print("a");        bp->print();  //呼叫的是派生類的print()        bp->print(10);        bp->print("");        d.print(); //呼叫的是派生類的print()        system("pause"); return 0; }