| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 276 人关注过本帖
标题:一个虚函数的问题
只看楼主 加入收藏
m1c2f4843
Rank: 1
等 级:新手上路
帖 子:27
专家分:4
注 册:2010-7-30
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:2 
一个虚函数的问题
程序代码:
#include <iostream>

using namespace std;

class animal
{
    int a;
public:
    virtual void eat()
    {
        cout << "animal eat" << endl;
    }
    virtual void play()
    {
        cout << "animal play" << endl;
    }
};

class dog : public animal
{
    int b;
public:
    virtual void eat()
    {
        cout << "dog eat" << endl;
    }
    virtual void play()
    {
        cout << "dog play" << endl;
    }
    virtual void run()
    {
        cout << "dog run"<< endl;
    }
};


int main()
{
    animal a1;
    dog d1;


    return 0;
}


为什么在对象a1中只有一个animal类的vptr
而没有他自己的vptr,不是在dog类中定义了一个virtual void run();吗 不是应该有一个指向virtual void run();的虚表吗
用的是vc6.0
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: animal 虚函数 color 
2012-04-13 21:56
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:0 
虚函数   是看最顶层的基类的
2012-04-14 11:33
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:20 
发重了

当dog不继承别的类时  你可以试试看


子类中可以不加virtual 关键字


[ 本帖最后由 寒风中的细雨 于 2012-4-14 12:21 编辑 ]
2012-04-14 11:33
快速回复:一个虚函数的问题
数据加载中...
 
   



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

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