vs2012 c++ 未声明的标识符 无法访问private成员 5

写代码的时候没有提示错误,并且所访问的类的成员都是公有的,写的时候都会自动提示蹦出其成员,为什么点击启动调试后对于某些变量会提示未声明,说类的成员是私有的,甚至还报错说类... 写代码的时候没有提示错误,并且所访问的类的成员都是公有的,写的时候都会自动提示蹦出其成员,为什么点击启动调试后对于某些变量会提示未声明,说类的成员是私有的,甚至还报错说类没有这样的成员,参见类定义,。。??什么情况啊 展开
 我来答
bai_lj
2014-12-01 · TA获得超过276个赞
知道小有建树答主
回答量:505
采纳率:77%
帮助的人:282万
展开全部

参看样例:

class BaseClass{
public:
    void Fun1(){}
    void Fun2(){}
private:
    void Fun3(){}
};
class DevClass:BaseClass{
public:
    void Fun5(){}
private:
    void Fun6(){}
};
class DevClass2:private BaseClass{
public:
private:
    void Fun6(){
        Fun1();//不能访问Private从基类继承的方法
    }
};

class DevClass3:public BaseClass{
public:
private:
    void Fun6(){}
};
class DevClass4:protected BaseClass{
public:
private:
    void Fun6(){Fun1();}
};
void test(){
    DevClass d;
    DevClass2 d2;
    DevClass3 d3;
    DevClass4 d4;

    d.Fun1(); //“BaseClass::Fun1”不可访问,因为“DevClass”使用“private”从“BaseClass”继承
    d2.Fun1();//“BaseClass::Fun1”不可访问,因为“DevClass2”使用“private”从“BaseClass”继承
    d3.Fun1();
    d4.Fun1();//“BaseClass::Fun1”不可访问,因为“DevClass4”使用“protected”从“BaseClass”继承
}
brother__qiang
2014-12-01 · TA获得超过597个赞
知道小有建树答主
回答量:1346
采纳率:66%
帮助的人:531万
展开全部
你得把代码贴出来啊
追问
代码太多了,设计好多文件,不过我的核心疑问是写代码是vs检查没问题,但是编译时却提示“未声明”这种低级的错误,我试了,如果我真的未声明,写的时候就会提示的,难道写代码的时候做的检查与后来编译时做的检查用的不是一个标准?
追答
那应该不会的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式