繁体   English   中英

如何从派生类访问基类中的向量?

[英]How to access a vector in base class from derived class?

*注意:如果这是一个非常简单的问题,我很抱歉,因为我是 C++ 新手。 而且我在发布问题之前先用谷歌搜索了它,但似乎我没有找到与我的情况类似的东西。

我有一个向量作为基类中的私有成员,我想从派生类访问它。 我该怎么办?

我知道私有成员不能直接从派生类访问,我必须使用 set get 函数。 但是,在这种情况下,我不知道如何使用 get 函数返回向量。 下面是一个例子:

class A
{
private:
vector<char> letter;
public:
...
}

class B : public A
{
public:
// Do something with letter
...
}

这可以通过将其更改为受保护来解决,但这并不是我真正想要的。 那么还有其他建议吗?

protected正是为此目的。 出于未指明的原因坚持不使用它是一个格式错误的问题。

如果您不想使该字段protected那么您至少需要一个受保护的 getter,它返回一个引用(或const引用):

protected:
  vector<char>& getLetter() { return letter; }

暂无
暂无

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

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