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

时间:2019-04-15 00:06:57

标签: c++

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

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

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

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

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

只需将其更改为受保护即可解决,但这并不是我真正想要的。还有其他建议吗?

1 个答案:

答案 0 :(得分:1)

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

如果您不想创建字段protected,则至少需要一个受保护的getter,它会返回引用(或const引用):

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