抽象基类(ABC)可以有数据来支持继承它的类。 但是,考虑到它不可能实例化ABC的对象,编译器如何处理这些数据的情况下,我们有许多派生类对象 继承了ABC。数据是否与派生类对象相关联?抽象基类和数据成员?它是如何工作的?
0
A
回答
0
如果您正在谈论静态数据,那么该数据将保持与基类的关联。无论有多少个不同的类从中派生,在内存中仍然只有一个该数据的实例。
非静态数据将与该类的每个实例关联。如果您创建该类的5个实例,则内存中将有5个该数据的实例,每个实例只能通过其关联的实例进行访问。
0
是的。
编译器只能接受已经派生的实体类实例化的继承类型。这是因为
public void RunInstantiate()
{
IAbstract abc;
abc = new Implement();
}
abc
总是指向一个真正的对象(类型Implement
的)。
相关问题
- 1. 抽象基类成员变量
- 2. C++抽象基类私人成员
- 3. 如何正确处理抽象类的抽象成员?
- 4. 我可以容纳抽象基类中的任何数据成员吗?
- 5. 使用指针指向基类抽象类的子类成员
- 6. 何时可以让抽象基类具有(非静态)数据成员?
- 7. 如果没有抽象成员,基类应该标记为抽象吗?
- 8. 如何重写成员的类型在子类的抽象类
- 9. 如何从抽象基类
- 10. NHibernate和制作抽象实体基类
- 11. 抽象类:无效的抽象的返回类型为成员函数“虚拟...”
- 12. 抽象基类的抽象子类
- 13. 抽象类演员操作员
- 14. 访问抽象类的成员
- 15. 在Java中向抽象基类添加成员的影响
- 16. LinqToSql和抽象基类
- 17. RhinoMocks和抽象基类
- 18. 模拟抽象基类和数据库中的子类
- 19. 界面成员是抽象的吗?
- 20. 调度员 - 它是如何工作的?
- 21. 将抽象基类作为成员处理时的所有权问题
- 22. 抽象的成员变量
- 23. 参考抽象类型成员
- 24. C++:在基类的成员函数中复制对象数据
- 25. shared_ptr抽象基类(成员变量)是一个未声明的标识符
- 26. 如何访问抽象类的私有成员
- 27. quartz.net抽象基类
- 28. 抽象基类QPointer
- 29. 抽象基类和派生类的工厂函数的C++返回类型
- 30. DataContract和数据成员属性 - 它们是如何影响类型
它不是一个“家庭作业问题”,只是一直困扰着我 – Wawel100 2009-10-22 13:34:45