读书人

反复成员函数的调用

发布时间: 2012-11-06 14:07:00 作者: rapoo

重复成员函数的调用
一道作业题,想了很久都不知道怎么做,内容如下:

C/C++ code
class Base {    public:        virtual void mf1() = 0;        virtual void mf1(int x);        virtual void mf2();        void mf3();        void mf3(double x);        int t;};class Derived: public Base {    public:        virtual void mf1();        //using Base::mf1;        //using Base::mf3;        void mf3();        void mf4();        using Base::t;};int main(){    Derived d;    int x;    d.mf1();//1    d.mf1(x);//2    d.mf2();//3    d.mf3();//4    d.mf3(x);//5}


main中d所调用的函数(如果能调用的话)依次都是哪个类中的哪个函数?如果发生错误,将如何修改?
很明显,1,3,4都能成功调用。请问应该如何修改class Derived?使2和5能调用到Base中的成员函数(使用using)
求指点

[解决办法]
virtual void mf1() = 0;纯虚函数在子类中没实现,要在子类中调用父类的函数,使用Base.mf3()就行了!
[解决办法]
Base:FUN();调用父类
FUN();调用子类

读书人网 >C++

热点推荐