| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 517 人关注过本帖
标题:虚函数的疑问.
取消只看楼主 加入收藏
maiiho
Rank: 1
等 级:新手上路
帖 子:94
专家分:7
注 册:2008-7-17
结帖率:50%
收藏
 问题点数:0 回复次数:0 
虚函数的疑问.
#include<iostream.h>
    class Base {
    public:
        Base(int x,int y)
        {  a=x; b=y; }
        virtual void show()      //定义虚函数show()
        { cout<<"Base----------\n"; cout<<a<<" "<<b<<endl;}
         private:
        int a,b;  };
    class Derived : public Base    {
    public:
        Derived(int x,int y,int z):Base(x,y){c=z; }
        void show()          //重新定义虚函数show()
        { Base::show();cout<< "Derived---------\n"; cout<<c<<endl;}
        private:
        int c;
    };
void main()
{
     Base mb(60,60),*pc;
     Derived mc(10,20,30);
     pc=&mb;
     pc->show();     //调用基类Base的show()版本
     pc=&mc;
     pc->show();     //调用派生类Derived的show()版本
 }

有什么办法能让红色部分输出为60,60,也就是基类对象的值.
派生类的构造函数把他初始化为10,20了
搜索更多相关主题的帖子: 函数 疑问 
2008-10-25 22:01
快速回复:虚函数的疑问.
数据加载中...
 
   



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

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