CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

(急)初学,请教大侠c++中virtual的意义

楼主youarestupid(neo)2002-07-02 14:10:34 在 VC/MFC / 基础类 提问

class   A{  
  public:  
  virtual   void   out(void){cout<<"I   am   A"<<endl;};  
  };  
   
  class   B:public   A{  
  public:  
  void   out(void){cout<<"I   am   B"<<endl;};  
  };  
   
  class   C:public   B{  
  public:  
  void   out(void){cout<<"I   am   C"<<endl;};  
  };    
   
  void   output(A   &temp){  
  temp.out();  
  };  
   
  void   main(void){  
        A   a;  
        B   b;  
        C   c;  
        output(a);  
        output(b);  
        output(c);  
  }  
  //------------------  
  使用virtual的输出:  
  I   am   A  
  I   am   B  
  I   am   C  
  //--------------------------------  
  不使用virtual的输出:  
  I   am   A  
  I   am   A  
  I   am   A  
  //为什么要在class   parent中加上virtual才好用,而不用三个都加?还有,为什么在test()函数要使用引用传值(&   temp)才能保证正确输出?另外请帮助小弟理解一下virtual的用法。谢谢!!!! 问题点数:100、回复次数:5Top

1 楼hollysky(爱神)回复于 2002-07-02 14:16:37 得分 20

不使用virtual是overload  
  使用virtual是多态(有function   map)Top

2 楼LocalVar(分乃身外之物,即使我回答对了,也别给分)回复于 2002-07-02 14:18:56 得分 10

这个问题你去看书吧,因为你根本不懂c++.所有将c++的书上都会将这一点的。如果这个问题你也要问的话,我不知道你还要问多少问题。Top

3 楼tuying2(方法)回复于 2002-07-02 14:31:01 得分 40

如果不用virtual子类继承对象时,子类将继承父类对象相关成员函数的完全拷贝,如果用virtual子类继承父类对象的相应成员函数时,只包含该函数的指针。Top

4 楼seakingw(小健)回复于 2002-07-02 14:48:26 得分 20

想想多态情况,即:从同一个父类继承的子类如何表现自己的特殊性?Top

5 楼zionka(Zionka)回复于 2002-07-02 14:50:51 得分 10

呵呵,是呀。  
  建议这位朋友先找本C++的书(而不是WINDOWS的什么MFC入门到精通),好好看一看。在理解OOP的思想后,你应该会变得从容。呵呵,也不用标记(急)了。Top

相关问题

  • C++初学
  • c初学者
  • C++初学?
  • C#初学者
  • 初学C++
  • C#初学者
  • 初学C问题,
  • 关于初学C++。
  • 初学C++,请教:...
  • c#初学问题

关键词

  • virtual

得分解答快速导航

  • 帖主:youarestupid
  • hollysky
  • LocalVar
  • tuying2
  • seakingw
  • zionka

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo