| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付买域名,送MP3、MP4
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY买空间,免费送域名(厦门中资源)
共有 337 人关注过本帖
标题:急!!!
收藏  订阅  推荐  打印 
hxe206
Rank: 1
等级:新手上路
帖子:4
积分:144
注册:2008-6-24
急!!!

#include<iostream>
using namespace std;
class A{
public:
    virtual void a(){cout<<"A"<<endl;}
};
class B:public  A{
private:
    virtual void a(){cout<<"B"<<endl;}
};
int main()
{
    A *p;
    p=new B;
    p->a();
    return 0;
}//输出为B

这个程序怎么可以运行,怎么没出错呢?为什么可以访问私有成员函数呢?
搜索更多相关主题的帖子: std  void  public  cout  includeusing  
2008-6-24 12:21
sunkaidong
Rank: 12Rank: 12Rank: 12
来自:南京师范大学
等级:版主
威望:4
帖子:4131
积分:44905
注册:2006-12-28

找了下书,没看到结果。。对于virsual关键字声明的函数,表示在该类的子类中有实现,一般理解是不用private的,因为你用的时候可能限制住多态了,至于为什么能用,不是很清楚。。有看到过的可以说下。。。

学习需要安静。。海盗要重新来过。。
2008-6-24 15:04
中学者
Rank: 12Rank: 12Rank: 12
等级:版主
威望:11
帖子:3376
积分:34562
注册:2007-9-14

派生类的virtual接口与基类权限一致.... - -!!
LZ看的啥书?如果是国产著作,建议你丢了.

汇编.....
2008-6-24 15:29
hxe206
Rank: 1
等级:新手上路
帖子:4
积分:144
注册:2008-6-24

中学者 在 2008-6-24 15:29 的发言:

派生类的virtual接口与基类权限一致.... - -!!
LZ看的啥书?如果是国产著作,建议你丢了.
不管什么书,但是我确实运行了那个程序,没有一点问题的,现在就是那个程序为什么不会出错
2008-6-24 16:03
中学者
Rank: 12Rank: 12Rank: 12
等级:版主
威望:11
帖子:3376
积分:34562
注册:2007-9-14

- -.我不是已经告诉你为什么了麽?看不明白?

汇编.....
2008-6-24 16:16
安静的小羊
Rank: 2
来自:广东
等级:注册会员
帖子:34
积分:512
注册:2008-6-4

如楼上所说,覆盖的函数不能改变访问属性

我无所事事所度过的今天,是昨天死去的人们所奢望的明天 ...
2008-6-24 19:15
hxe206
Rank: 1
等级:新手上路
帖子:4
积分:144
注册:2008-6-24

不好意思啊,没看清楚
现在好像看明白啦
谢了啊
2008-6-25 12:36
hp521_kylin
Rank: 1
来自:px
等级:新手上路
帖子:5
积分:150
注册:2008-6-25

看了下书:我觉得问题是派生类和基类的特殊关系!!
建议你取看看就可以得到结果。

c++,my goals
2008-6-25 22:44
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.053539 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved