| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 652 人关注过本帖
标题:关于public继承的问题
只看楼主 加入收藏
zhiyajun11
Rank: 1
等 级:新手上路
帖 子:17
专家分:1
注 册:2010-12-22
结帖率:88.89%
收藏
已结贴  问题点数:2 回复次数:2 
关于public继承的问题
public继承中,基类的私有成员不是不能被继承吗,那么,看下面的程序:
#include "iostream"
using namespace std;
class CA
{
private:
    int Age;
public:
    void SetAge(int age)
    {
        Age=age;
    }
    void print()
    {
        cout<<Age<<endl;
    }

};
class CB:public CA
{
    ;
} stu1;
void main()
{
    int age;
    cin>>age;
    stu1.SetAge(age);
    stu1.print();
}
这里却可以执行,但stu1.SetAge(age);stu1.print()都用到了基类的私有成员Age,但stu1却是类CB的对象,这是怎么回事,是不是我理解的不对?应该怎样理解基类的私有成员不被继承?
搜索更多相关主题的帖子: private 
2011-01-09 11:34
hust_sj
Rank: 3Rank: 3
来 自:湖北
等 级:论坛游侠
帖 子:94
专家分:116
注 册:2009-8-26
收藏
得分:1 
谁说私有成员不被继承?只是不能在子类中直接访问罢了,可以间接的通过基类的函数访问,如果你这样用:stu1.age = 20; 那就会编译出错


[ 本帖最后由 hust_sj 于 2011-1-9 11:44 编辑 ]

每当我回完帖时,我都会默默的点一根烟,然后离开
2011-01-09 11:43
li_danwang
Rank: 4
来 自:鄂州
等 级:业余侠客
帖 子:112
专家分:203
注 册:2010-11-12
收藏
得分:1 
私有成员只是不可以被类对象直接访问,可以间接的通过类对象的函数访问.  公有继承时候,基类私有成员在派生类里访问权限是私有的,所有可以使用成员函数访问

没事来C一下...   
2011-01-09 16:11
快速回复:关于public继承的问题
数据加载中...
 
   



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

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