| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 531 人关注过本帖
标题:
只看楼主 加入收藏
tzungshianli
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2014-11-17
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:8 
Class P
{
public:
int v1;
protected:
int v2;
private:
int v3;
};
class C:public P
{
public:
void f1(){v1=0;}//⑴
void f2(){v1=v2=v3=0;}//⑵
protected:
void f3(){v1=v2=0;}//⑶
private:
void f4(){v1=v2=v3=0;}//⑷
};
int main()
{
return 0;
}
⑴⑵⑶⑷行哪些無法通過編譯。
這題我完全沒有思緒,請大家指點迷津一下
謝謝

[ 本帖最后由 tzungshianli 于 2014-11-17 17:19 编辑 ]
搜索更多相关主题的帖子: return public private 
2014-11-17 17:18
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
实际上机测试一下ok

DO IT YOURSELF !
2014-11-18 10:52
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
w5.cpp(18): error C2248: “P::v3”: 无法访问 private 成员(在“P”类中声明)
1>          w5.cpp(12) : 参见“P::v3”的声明
1>          w5.cpp(6) : 参见“P”的声明
1>w5.cpp(22): error C2248: “P::v3”: 无法访问 private 成员(在“P”类中声明)
1>          w5.cpp(12) : 参见“P::v3”的声明
1>          w5.cpp(6) : 参见“P”的声明

DO IT YOURSELF !
2014-11-18 10:56
stop1204
Rank: 9Rank: 9Rank: 9
来 自:福建省
等 级:贵宾
威 望:22
帖 子:295
专家分:1151
注 册:2013-9-8
收藏
得分:0 
不能这样写哦..两个类不能直接访问对方的成员.(因为你这个类是未创建的....不懂就算吧-.- 看下面)
我给你写个例子.
程序代码:
#include <iostream>
using namespace std;
class a
{
public:
    int v1 = 5;
};
class b
{
public:
    void show(a CLASS)          //意思是传入类型 a  //CLASS是形参
    {
        cout << CLASS.v1;   //因为CLASS是类型a       这个就相当于a.v1了
    }
};
int main()
{
    b s1;
    a s2;
    s1.show(s2);        //s2是类型a   传入s1 即 b类
    return 0;
}




[ 本帖最后由 stop1204 于 2014-11-19 04:03 编辑 ]

hl928452957@gmail点com

2014-11-19 04:01
tzungshianli
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2014-11-17
收藏
得分:0 
這個是講義上的題目,我想題目就是故意寫不對的程式讓我們找出不對在哪裡。
我用相片的方式呈現。
图片附件: 游客没有浏览图片的权限,请 登录注册
2014-11-19 11:52
天使梦魔
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:37
帖 子:564
专家分:2754
注 册:2007-8-29
收藏
得分:10 
3楼已给解,v3是基础类的私有成员,任何派生成员都无法访问被派生的私有成员.这个逻辑很简单.
无论是派生出来的是声明成共有或者私有都无法访问.
如果派生可调用一切被继承者私有成员,那类里面的共有,私有,保护,friend就完全失去意义了
2014-11-19 14:40
tzungshianli
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2014-11-17
收藏
得分:0 
謝謝樓上,我了解了
2014-11-19 19:57
麻麻说我不乖
Rank: 2
等 级:论坛游民
威 望:1
帖 子:18
专家分:21
注 册:2014-7-20
收藏
得分:0 
只要基类把成员设定是private,不管派生类是公有继承还是保护继承还是私有继承,都不能访问基类私有成员,除非通过调用基类里public 的成员函数来访问基类的private成员。
2014-11-19 20:37
tzungshianli
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2014-11-17
收藏
得分:0 
謝謝大家的解答
2014-11-20 09:30
快速回复:
数据加载中...
 
   



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

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