你能给我为例子私有继承在C++
?据我了解,在这种继承方式下,公众和父母的受保护特征不会过滤患儿,只能看到儿童的公共特征。
0
A
回答
2
私有继承:
基类的所有成员Public
成为派生类&
的Private
成员的基类的所有成员Protected
成为派生类的Private
成员。
的代码示例:
Class Base
{
public:
int a;
protected:
int b;
private:
int c;
};
class Derived:private Base //Not mentioning private is OK because for classes it defaults to private
{
void doSomething()
{
a = 10; //Allowed
b = 20; //Allowed
c = 30; //Not Allowed, Compiler Error
}
};
class Derived2:public Derived
{
void doSomethingMore()
{
a = 10; //Not Allowed, Compiler Error, a is private member of Derived now
b = 20; //Not Allowed, Compiler Error, b is private member of Derived now
c = 30; //Not Allowed, Compiler Error
}
};
int main()
{
Derived obj;
obj.a = 10; //Not Allowed, Compiler Error
obj.b = 20; //Not Allowed, Compiler Error
obj.c = 30; //Not Allowed, Compiler Error
}
如果你倾向于了解继承&访问说明,你可以在更this答案我张贴相当长的一段前退房。
0
私有继承通常用作组合形式。与具有继承类型的成员变量没有多大区别。
这意味着
在某些罕见的情况下,边缘“在...的术语实施”时,它可以比具有一个成员变量更有效。
我知道私人遗产最常见的用法是boost::noncopyable
相关问题
- 1. C#中的私有继承?
- 2. 组成了私有继承
- 3. Objective-C私有财产继承
- 4. JavaScript中的私有继承
- 5. 私有继承和交换
- 6. 私有继承或遏制
- 7. 私有成员的继承
- 8. 私有变量继承
- 9. 继承和私有成员
- 10. 继承和私有变量
- 11. 继承和私有方法
- 12. 私有继承VS遏制
- 13. 受保护/私有继承铸造
- 14. 来自std :: basic_string的私有继承
- 15. 私有继承和非虚拟接口
- 16. 公开从基类继承,从派生的类私有继承
- 17. 私有继承:名称查找错误
- 18. 私人与公共继承
- 19. 从具有私有内部类的类继承C++
- 20. 私有继承中的对象切片
- 21. 私有或公开从boost :: non_copyable继承?
- 22. Python3:类继承和私有字段
- 23. 反映在继承私有方法
- 24. 私有方法,继承和元编程?
- 25. 类继承和私有变量在JS
- 26. 函数模板和私有继承
- 27. 私有静态成员和继承
- 28. 继承和私有实例变量
- 29. 公开添加,但继承私有
- 30. Java继承私有和公共秩序