| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 739 人关注过本帖
标题:基类指针访问派生类普通函数成员
只看楼主 加入收藏
冷读者
Rank: 1
等 级:新手上路
帖 子:19
专家分:5
注 册:2012-10-2
收藏
得分:0 
以下是引用IT男year在2013-12-21 08:49:29的发言:

#include<iostream>
using namespace std;
class A
{
public:
    A(){}
    virtual void get()
    {
        cout<<"这是类A里的get()函数"<<endl;
    }
};
class B:public A
{
public:
    B(){}
    virtual void get()
    {
        cout<<"这是类B里的get()函数"<<endl;
    }
    void get1()
    {
        cout<<"这是类B里的get1()函数"<<endl;
    }
};
int main()
{
    A p,*p1;
    B T;
    p1=&p;
    p1->get();
    p1=&T;
    p1->get();
    //p1->get1();------>这就是访问派生类中新增加的成员函数,不进行类型转换是不能访问的。
    ((B *)p1)->get1();----->这就是类型转换啦!
    return 0;
}
不懂请看这段示例代码!!!!!


谢谢!
dynamic_cast<B *>(p1)语句是否与(B *)(p1)等效呀?
2013-12-22 00:55
快速回复:基类指针访问派生类普通函数成员
数据加载中...
 
   



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

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