标题:六百里加急:为什么在基类的get()函数前加上virual后,继承以后,在主函数 ...
取消只看楼主
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
结帖率:85.71%
已结贴  问题点数:20 回复次数:2 
六百里加急:为什么在基类的get()函数前加上virual后,继承以后,在主函数中输出不是动态联编,输出的都是1呢还是,求教!谢谢啊
#include<iostream>
using namespace std;
class A
{
      public:
     virtual int get(){return 1;} //难道不对吗这里?
};
class B:public A
{
      public:
      int get(){return 2;}
};
int main()
{
    while(1)
    {
    cout<<"1:父类2:子类3:退出:"<<endl;
    int choice;
    cin>>choice;
    A*p;
    bool quit =false;
    switch(1)
    {
             case 1:p=new A;
             break;
             case 2:p=new B;
             break;
             case 3:quit=true;
             break;
             default:
                     cout<<"请输入1,2,3"<<endl;
             break;
    }
    if(quit==true)
    {
                  break;
    }
    cout<<p->get()<<endl;
}
system("pause");
return 0;
}
搜索更多相关主题的帖子: return false 
2011-05-24 18:22
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
得分:0 
回复 3楼 buffer
我写错了,不好意思哈

Sharp your mind!
2011-05-24 22:30
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
得分:0 
回复 4楼 Pirelo
好强

Sharp your mind!
2011-05-24 22:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-340864-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.198755 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved