我已經定義了超類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