首页 > 试题广场 >

下面两段代码的输出分别是什么?

[问答题]
下面两段代码的输出分别是什么?
class Base{
    public:
        virtual void Print() const{
            cout << "Print in Base" << endl;
        }
};
class Derive::public base
{
    public:
        void Print() const{
            cout << "Print in Derive" << endl;
        }
};
void Print(const Base* base){
    base->Print();
}
int main(){
    Base b;
    Derive d;
    print(&b);
    print(&d);
    return 0;
}
class Base{
    public:
        void Print() const{
            cout << "Print in Base" << endl;
        }
};
class Derive::public base
{
    public:
        void Print() const{
            cout << "Print in Derive" << endl;
        }
};
void Print(const Base* base){
    base->Print();
}
int main(){
    Base b;
    Derive d;
    print(&b);
    print(&d);
    return 0;
}

子类的成员函数覆盖父类的成员函数时,依据成员函数是否为虚函数分为静态和动态覆盖。

非虚 静态覆盖 编译时决定 根据“->”操作符左边的类型决定
虚 动态覆盖 运行时决定 根据指针实际指向的类型决定

发表于 2017-11-28 17:00:23 回复(0)
虚函数可以实现动态绑定,来实现多态:
基类的指针、引用指向派生类时,访问派生类的同名覆盖函数。
发表于 2017-08-29 16:30:31 回复(0)
Print in Base,Print in Derive
Print in Base,Print in Base 
多态性是指用指向基类的指针或引用来操作对象。
发表于 2015-07-09 10:15:42 回复(0)
1
发表于 2016-09-24 10:39:22 回复(0)
"Print in Base"
"Print in Derive" 
"Print in Base"
"Print in Base"
发表于 2015-07-26 11:03:00 回复(0)
Print in Base,Print in Derive
Print in Base,Print in Base
今天了解了虚函数的相关信息,标记下...
发表于 2015-06-25 15:17:25 回复(0)
答案:
Print in Base
Print in Derive
Print in Base
Print in Base
发表于 2015-06-18 17:35:52 回复(0)
Print in Base
Print in Derive
Print in Base
Print in Base

发表于 2015-06-12 17:02:07 回复(0)
第一段
Print in Base
Print in Derive
第二段
Print in Base
Print in Base

发表于 2015-06-11 19:53:40 回复(0)
Print in Base
Print in Derive
Print in Base
Print in Base
发表于 2015-06-04 12:37:28 回复(0)
1.Print in Base
   Print in Derive
2.Print in Base
   Print in Base

具体google 虚函数
发表于 2015-06-03 15:43:15 回复(0)
Print in base Print in Derive
Print in base Print in base
发表于 2015-06-01 07:43:59 回复(0)
Print in Base, Print in Derive
Print in Base, Print in Base 
发表于 2015-05-19 19:31:23 回复(0)
Print in Base
Print in Derive
Print in Base
Print in Base

发表于 2015-05-11 23:03:26 回复(0)
Print in Base, Print in Derive
Print in Base, Print in Base
发表于 2015-05-11 20:38:48 回复(0)
考察对虚函数的基本理解
第一个:Print in Base, Print in Derive
第二哥:Print in Base, Print in Base
发表于 2015-05-05 14:29:51 回复(0)