在使用受保护和继承时无法访问在类中声明的私有成员
cannot access private member declared in class while using protected and inheritance
我在使用protected
成员时遇到了一些问题。相关代码和我得到的错误如下。这些类具有所有需要的函数和变量。我刚刚总结了相关部分。我该怎么办?
MFS.h:
class MFS
{
protected:
MatrixXd commandedLateral;
};
CSimulator.h:
class CSimulator : MFS
{
};
CSimulator.cpp:
void CSimulator::calculateActuator(MFS* mfs)
{
actuator = -gain * mfs->commandedLateral(1,0);
}
错误 C2248:"MFS::命令横向":无法访问在类"MFS"中声明的私有成员
protected
成员只能通过派生类访问,即你不能通过基类MFS
访问它。
(强调我的(
类的受保护成员只能访问
1(该班级的成员和朋友;
2( 对任何派生类的成员
and friends (until C++17)
该类,但仅当对象的类通过该类时 访问的受保护成员是派生类还是派生类 该派生类:
例如,以下代码应该可以正常工作。
void CSimulator::calculateActuator(CSimulator* mfs)
{
actuator = -gain * mfs->commandedLateral(1,0);
}
相关文章:
- 在指向现有内存地址的 hpp 文件中声明成员函数的最佳方法
- 如何使用模板声明成员函数?(不是模板类)
- 如何使用 Boost.Hana 声明成员变量
- 声明成员对象而不调用其默认构造函数
- 使用函数类型语法声明成员函数
- 尝试访问标头声明成员时出现隔离错误
- 根据二手构造函数声明成员
- C 模板明确声明成员函数值/避免了宏的问题
- 如何在基本模板类中声明成员,其中类型取决于派生类的类型
- 错误:类中没有声明成员函数
- 我可以使用相同的名称为周围作用域中的类型声明成员类型别名吗
- 从variadic模板参数声明成员变量
- 在类(C )中使用模板时未声明成员函数
- 错误:类中未声明 '' 成员函数
- 如何在指向常量地址时声明成员函数常量指针
- 何时以及为什么在堆C++上声明成员变量
- C++ 错误:未在范围内声明;成员函数
- 在不声明成员变量的情况下更改按钮颜色
- 错误 C2535:已定义或声明成员函数
- 当声明成员函数时,*New()是什么意思