变量访问
Variable inaccessible?
在下面的代码中变量'id'是不可访问的类马,这是一个继承问题吗?访问修饰符问题?如有任何帮助,不胜感激。
class Animal
{
private:
int id;
};
class Horse : public Animal
{
public:
Horse(){
if((id % 2) == 1) { id++ };
}
};
类Horse
在这种情况下只继承公共和受保护的元素,如果您使用:
class Horse : public Animal
要继承id
,可以在Animal
类中定义这个私有元素为protected:
class Animal
{
protected:
int id;
};
您可能希望id
是protected
而不是private
,那么。或者更好的是,使用您编写的访问器…
id
对Animal
是私有的,因此Horse
无法访问。一个令人满意的设计是通过getID()
访问id
,尽管您需要一个setter和现有的getter方法。
将变量声明为private会导致只有声明该变量的类才能访问它,如果您希望继承基本类的类也能够访问该变量,请使用protected。
相关文章:
- 尝试通过多个向量访问变量时,向量下标超出范围
- 通过按地址访问变量
- 通过 get-Method 访问变量在类外不起作用
- 是否可以使用指针访问变量以避免直接编辑变量?
- 我无法访问变量的值,即使我通过范围传递了它
- 简单的问题 - 如何从单独的"结构"内的'class'访问变量?
- (C++) 从另一个类访问变量时值无效
- 返回实例变量的c++方法可以访问变量中的数据,但不能更改它,但在编译时不会生成错误
- 是否可以从字符串访问变量?
- 变量 z 无法从其他函数访问变量 x
- 如何在 C++ 中从 void 返回函数访问变量
- 在链接的程序集文件中,我想从 c++ 调用代码访问变量.是否可以在不触发访问冲突的情况下执行此操作?
- 在C 中本地声明隐藏的封闭范围(而非全局)中访问变量
- 从函数中删除动态内存分配,但无法访问变量
- 如何从派生类中的基类访问变量的值?
- 如何通过指针更快地访问变量,然后直接访问变量?
- 如何在公共类 c++ 中访问变量的值
- 从 Visual Studio 中的多个源文件访问变量
- 使用命名空间和模板类访问变量
- 从子对话框访问变量