*注意:很抱歉,如果这是一个非常简单的问题,因为我是C ++新手。而且我在发布问题之前先用Google对其进行了搜索,但是似乎找不到与我的情况类似的东西。
我在基类中有一个vector作为私有成员,我想从派生类访问它。我该怎么办?
我知道私有成员不能直接从派生类访问,并且我必须使用set get函数。但是,在这种情况下,我不知道如何通过使用get函数返回向量。下面是一个示例:
class A
{
private:
vector<char> letter;
public:
...
}
class B : public A
{
public:
// Do something with letter
...
}
只需将其更改为受保护即可解决,但这并不是我真正想要的。还有其他建议吗?
答案 0 :(得分:1)
protected
正是出于此目的。坚持不以未指定原因使用它是一个格式错误的问题。
如果您不想创建字段protected
,则至少需要一个受保护的getter,它会返回引用(或const
引用):
protected:
vector<char>& getLetter() { return letter; }