c++实例研究

从0开始

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  104 随笔 :: 0 文章 :: 20 评论 :: 0 Trackbacks
<2010年10月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

公告

常用链接

留言簿(1)

随笔分类

随笔档案

参考

我的几个分站

搜索

最新评论

阅读排行榜

评论排行榜

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

class base
{
    
public:
        
base():m(3){}
        
int m;
    
public:
        
int GetValue(){return --m;}
}
;

class derived1 :public base
{
    
public:
        
virtual int GetValue(){return ++m;}
}
;

class derived2 :public derived1
{
    
public:
        
int GetValue(){return m*=2;}
}
;

int main()
{
    derived2 
*pd2 = new derived2();
    derived2 
&rd2 = *pd2;
    pd2
->GetValue();
    
    derived1 
*pd = pd2;
    derived1 
&rd = *pd;
    pd
->GetValue();
  
    
base *pb = pd;
    
base &rb = *pb;
    pb
->GetValue(); 
    
    printf(
"%d\n", rb.GetValue());
    system(
"PAUSE");
    
return 0;
}

tip:类的成员函数优先于虚函数表内函数
posted on 2010-10-25 10:18 elprup 阅读(465) 评论(0)  编辑 收藏 引用 所属分类: c++面试题

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理