繁体   English   中英

C ++访问基类成员

[英]C++ accessing base class members

我试图阐明继承是如何完成家庭作业的。

class AA
{
public:
  setAAA();
protected:
  int AAA;
};

class BB : public AA
{
public:
  setBBB();
private:
  int BBB;
};

BB的AA继承会导致BB具有以下成员列表吗? -AAA-BBB-setAAA()-setBBB()

如果可以,为什么我不能执行:

BB Frank;
Frank.setAAA();

它确实意味着这一点,并且确实起作用。 在此处运行代码以进行确认:

http://liveworkspace.org/code/51fd6850ebfb5f86dc61c6dc074fe30a

#include <iostream>

class AA
{
public:
  void setAAA() { std::cout << "Setting AAA" << std::endl; };
protected:
  int AAA;
};

class BB : public AA
{
public:
  void setBBB() {};
private:
  int BBB;
};

int main(int argc, char* argv[])
{
   BB b;
   b.setAAA();

   return 0;
}

您的问题是您的方法没有返回类型:)

如果它为什么我不能执行:BB Frank; Frank.setAAA();

好。 首先定义一个返回类型setAAA() 例如,使其为void

然后可以访问成员函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM