荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: bakey (sbb的猪), 信区: Program
标  题: [合集]关于多态下运行时类型标识的问题
发信站: 荔园晨风BBS站 (2005年11月29日16:12:01 星期二), 站内信件

☆   1  ──────────── 我是分割线 ─────────────────☆
发信人: bso (meteor), 信区: Program
标  题: 关于多态下运行时类型标识的问题
时  间: Mon Nov 28 22:45:49 2005

以下程序在VC++6.0下编译时,若加上virtual关键字,则出现警告,运行出现错误,去掉virtua
l关键字,可以编译运行.
由于我机上没有VC.NET,所以不能确定VC6.0是否支持此类用法
哪位大虾能帮忙看看?

试试在VC.NET下能否加上virtual实现多态运行时类型标识?

真是没想到,居然在Dev C++上能够实现多态运行时类型标识,只是在输出是可能是编译器的
问题
输出时,它在基类前加了6,在Cat派生类前加了3,在派生类Platypus前加了8

看来VC6.0没有支持新的RTTI标准,可能VC.NET会支持吧

在多态(在基类加上virtual)下这个程序应该输出实际对象类型,在非多态下输出基类类型

#include <iostream>
#include <typeinfo>
using namespace std;

//此程序用于测试 typeid 的使用
//在Dev C++ 4.980版本下运行通过

class Mammal{
public:
        virtual bool lays_eggs(){return false;}         //virtual 用于支持多态
};

class Cat:public Mammal{
public:
};

class Platypus:public Mammal{
public:
        bool lays_eggs(){return true;}
};

void WhatMammal(Mammal &ob)          //当typeid被用于一个多态类对象的引用时,将返
回实际引用的对象类型,该类型可以是派生类型
{
        cout<<"ob is referencing an object of type ";
}

int main()
{
        Mammal *p,AnyMammal;
/*
        p=&AnyMammal;
*/
        return 0;
}

--
meteor
梦想农庄音乐站
http://192.168.117.111
音乐模式:http://192.168.117.111/music.htm
星动BT站(每天更新哦)
http://192.168.117.111/plus_bt.asp

※ 来源:.荔园晨风BBS站 http://bbs.szu.edu.cn [FROM: 192.168.117.111]

※ 修改:.bso 於 Nov 29 01:51:28 2005 修改本文.[FROM: 192.168.117.111]
※ 修改:.bso 於 Nov 29 01:58:00 2005 修改本文.[FROM: 192.168.117.111]
※ 修改:.bso 於 Nov 29 02:06:12 2005 修改本文.[FROM: 192.168.117.111]

☆   2  ──────────── 我是分割线 ─────────────────☆
发信人: FineBoy (FineBoy), 信区: Program
标  题: Re: 关于多态下运行时类型标识的问题
时  间: 2005年11月29日08:42:44 星期二

vc6.0默认不支持,你应该打开GR编译选项。


☆   3  ──────────── 我是分割线 ─────────────────☆
发信人: bso (meteor), 信区: Program
标  题: Re: 关于多态下运行时类型标识的问题
时  间: Tue Nov 29 15:33:18 2005

如何打开GR编译选项?



☆   4  ──────────── 我是分割线 ─────────────────☆
发信人: bso (meteor), 信区: Program
标  题: Re: 关于多态下运行时类型标识的问题
时  间: Tue Nov 29 15:39:01 2005

果然可以啊~~~~~`打开GR编译选项了~~~~编译正确~~~呵呵


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店