我已经定义了超类element
。有一些派生类element
说triangle
,quad
和cube
。一些element
对象是边界元素。如果element
是边界元素,那么我必须定义其他数据成员和函数。我可以很容易地得出一个boundary_element
类如果element
类不是基类。(我的意思是,如果triangle
,quad
和cube
是分开的类我可以这样定义boundary_triangle
,boundary_quad
,并且boundary_cube
独立的派生类)。作为抽象类的基类派生类
所以我的问题是,我必须定义具有为基本(或者甚至抽象的)类用于定义派生类boundary_quad
,boundary_triangle
和boundary_cube
一个子类boundary_element
。
这是在C++中的某种可能吗?任何人都可以提出任何符合目的的建筑吗?
我可以根据我的逻辑解决我的问题的另一种方法是,定义一个类象下面这样:
class boundary_element
{
element* m_boundary_elem;
//data members needed for quad,triangle and cube
public:
boundary (element*);
//functions for modifying data's of triangle,cube,quad.
}
的element
指针被定义为另一类的成员变量。如何使用继承有效地重构此类。 (即功能它作为一个抽象类,用于获取boundary_triangle
,boundary_quad
和boundary_cube
类)
我不知道我的问题是很奇怪,但作为一个初学者,我真的很困惑如何正确使用继承。对不起,如果我的标题是误导。
我想你刚才不应该为这个问题使用继承的。 –
@ChristianHackl,那么我必须在一个类中定义过多的冗余数据类型和函数。它会消耗大量内存而效率低下吗? – hisham