-1

我试图澄清继承是如何为一件家庭作业工作的。

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();
4

2 回答 2

4

它确实是这个意思,并且确实有效。在此处运行代码以进行确认:

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;
}

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

于 2012-10-20T20:11:48.497 回答
3

如果它确实为什么我不能执行:BB Frank;弗兰克.setAAA();

出色地。从定义返回类型开始setAAA()。例如,制作它void

然后可以访问成员函数。

于 2012-10-20T20:12:08.853 回答