标题:急!!!
只看楼主
hxe206
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-6-24
 问题点数:0 回复次数:7 
急!!!
#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-06-24 12:21
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
得分:0 
找了下书,没看到结果。。对于virsual关键字声明的函数,表示在该类的子类中有实现,一般理解是不用private的,因为你用的时候可能限制住多态了,至于为什么能用,不是很清楚。。有看到过的可以说下。。。

学习需要安静。。海盗要重新来过。。
2008-06-24 15:04
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
得分:0 
派生类的virtual接口与基类权限一致.... - -!!
LZ看的啥书?如果是国产著作,建议你丢了.

樱花大战,  有爱.
2008-06-24 15:29
hxe206
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-6-24
得分:0 
[bo][un]中学者[/un] 在 2008-6-24 15:29 的发言:[/bo]

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

不管什么书,但是我确实运行了那个程序,没有一点问题的,现在就是那个程序为什么不会出错
2008-06-24 16:03
中学者
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:3554
专家分:80
注 册:2007-9-14
得分:0 
- -.我不是已经告诉你为什么了麽?看不明白?

樱花大战,  有爱.
2008-06-24 16:16
安静的小羊
Rank: 1
来 自:广东
等 级:新手上路
帖 子:34
专家分:0
注 册:2008-6-4
得分:0 
如楼上所说,覆盖的函数不能改变访问属性

我无所事事所度过的今天,是昨天死去的人们所奢望的明天 ...
2008-06-24 19:15
hxe206
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2008-6-24
得分:0 
不好意思啊,没看清楚
现在好像看明白啦
谢了啊
2008-06-25 12:36
hp521_kylin
Rank: 1
来 自:px
等 级:新手上路
帖 子:5
专家分:0
注 册:2008-6-25
得分:0 
看了下书:我觉得问题是派生类和基类的特殊关系!!
建议你取看看就可以得到结果。

c++,my goals
2008-06-25 22:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-220890-1-1.html




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

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