一.问题描述:

  用对象和指针两种方法调用基类和派生类里的函数。

二.设计思路:

  定义包含成员函数fn1的基类baseclass和包含成员函数fn1的派生类derivedclass。

然后用对象和指针两种方法调用基类和派生类里的函数。

三.流程图:

 

 四. 伪代码

类 baseclass{
fn1(){输出基类;}
}
类 derivedclass:public baseclass{
fn1(){输出派生类;}
}

main(){
derivedclass a;
a.fn1();
a.baseclass::fn1;

baseclass *pb=&a;
derivedclass *pd=&a;
*pb->fn1();
*pd->fn1();

}

五. 代码实现

#include<iostream>
using namespace std;
class baseclass {
public:
    void fn1() {
        cout << "I am fn1 of base" << endl;
    }
    
};
class derivedclass :public baseclass{
public:
    void fn1() {
        cout << "I am fn1 of derived" << endl;
    }
    
};
int main() {
    derivedclass a;
    a.baseclass::fn1();
    a.fn1();

    derivedclass* pd = &a;
    baseclass* pb = &a;
    pd->fn1();
    pb->fn1();


    return 0;
}

 

posted on 2023-04-11 19:57  leapss  阅读(53)  评论(0)    收藏  举报