| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 365 人关注过本帖
标题:继承的问题
只看楼主 加入收藏
tianxiao110
Rank: 1
等 级:新手上路
帖 子:63
专家分:1
注 册:2010-7-23
结帖率:83.33%
收藏
已结贴  问题点数:10 回复次数:4 
继承的问题
#include<iostream>
using namespace std;
class box
{
    protected :
    int chang;
    int kuan;
    int gao;
};
class box1:public box
{
    public:
    void set1()
    {
        cin>>chang>>kuan>>gao>>time;
    }
    void show1()
    {
        cout<<chang<<" "<<kuan<<" "<<gao<<" "<<time<<endl;
    }
    private:
    int time;
};
void main()
{
    box1 b1;
    b1.set1();
    b1.show1();
    cout<<b1.chang<<endl;   //     我采用的是公有继承的方式,基类的protected数据在派生类里已经成了public成员,可为什么不能引用呢????
}
搜索更多相关主题的帖子: 继承 
2010-07-27 16:16
wuanping
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2010-7-27
收藏
得分:0 
main()里怎么能用b1.chang??

不是变成public成员了,是能通过public函数来调用。

[ 本帖最后由 wuanping 于 2010-7-27 16:27 编辑 ]
2010-07-27 16:26
gq198718
Rank: 4
等 级:业余侠客
威 望:1
帖 子:86
专家分:200
注 册:2010-6-6
收藏
得分:0 
pubic成员能够被类的外部函数访问,而protected成员则不能
2010-07-27 16:31
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:5 
pubilc 好像是 public 变 public, protected 变 protected。就是属性不变,不是全变 public。
2010-07-27 21:39
zgxyz2008
Rank: 4
等 级:业余侠客
帖 子:67
专家分:202
注 册:2008-10-28
收藏
得分:5 
当类的继承方式为公有继承时,基类的公有和保护成员的访问属性在派生类中不变,就是说基类的protect在子类中仍然是protect,而protect属性是不能被类外访问的。
2010-07-28 10:15
快速回复:继承的问题
数据加载中...
 
   



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

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