当前位置:  开发笔记 > 编程语言 > 正文

有没有一种简单的方法来使用基类的变量?

如何解决《有没有一种简单的方法来使用基类的变量?》经验,为你挑选了1个好方法。

当你有一个派生类时,是否有一种更简单的方法从以下方法引用变量:

BaseClass::variable

编辑
正如它发生的那样,我找到了一个使用函数来解释这个问题的页面: Template-Derived-Classes Errors.显然,使用模板类时会有所不同.



1> Dima..:

如果基类成员变量受保护或公共,则只能在派生类的任何成员函数中按名称引用它.如果它是基类的私有,则编译器将不允许派生类访问它.例:

class Base
{
protected:
  int a;

private:
  int b;
};

class Derived : public Base
{
  void foo()
  {
    a = 5;  // works
    b = 10; // error!
  }
};

还可以说保持所有成员变量的私有性,并根据需要提供getter和setter.

另外,要注意"隐藏"数据成员:

class Base
{
public:
  int a;
};

class Derived : public Base
{
public:
  int a;
};

这将创建两个名为的变量a:one in Base,one in Derived,它可能会导致混淆和错误.

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有