鍊錶節點的資料域型別不再為具體的資料型別,而是通過乙個基類指標引入,達到不借助模板而是通過多型實現通用鍊錶
#define _crt_secure_no_warnings
#include
#include
using
namespace std;
class
object
virtual
~object()
virtual
void
print()
const=0
;virtual
bool
compare
(object *pobj)=0
;};class
list
;class
listnode
listnode
(object *pobj)
~listnode()
private
: object *data;
listnode *next;};
class
list
bool
pushback
(object *pobj)
void
print()
const
cout <<
".nul"
<< endl;
}void
insertorder
(object* pobj)
s->next = p;
q->next = s;
if(p ==
null
) last = s;}~
list()
delete head;
head = last =
null;}
private
: listnode *head;
listnode *last;};
class
intobject
:public object
~intobject()
void
print()
const
bool
compare
(object *pobj)
return
false;}
private
:int data;};
class
strobject
:public object
else
}void
print()
const
bool
compare
(object *pobj)
return
false;}
strobject()
private
:char
*data;};
intmain()
intlist.
print()
;const
char
*str=
;for
(int i =
0; i <
5; i++
) strlist.
print()
; list orderlist;
const
char
*str1=
;for
(int i =
0; i <
5; i++
) orderlist.
print()
;system
("pause");
return0;
}
繼承與多型的應用 通用鍊錶的實現
繼承與多型的應用 通用鍊錶的實現 1.掌握繼承與多型 2.掌握純虛函式與抽象類以及介面的含義 3.通過多型的形式,建立與型別無關的通用鍊錶 include include using namespace std class object virtual object public virtual v...
鍊錶的通用實現方式
在鍊錶的使用時,結構物件所包含的資料各不相同,所以在鍊錶的儲存需要針對不同的鍊錶物件重複編寫相應的儲存方法,能不能實現一種通用的方式,能夠針對不同的結構物件,實現統一的儲存方法?當然能。一般我們在儲存鍊錶時,都會儲存鍊錶物件結構的首位址,也就是結構指標。在計算機中,對於指標,在32位機器上,實際就是...
通用鍊錶 通用鍊錶的基本使用
1.1雙向鍊錶指標域 從圖中可以看出雙向鍊錶的前向指標指向前乙個結點的首位址,後向指標指向下乙個節點的首位址,並且指標型別相同,且只能指向與自己型別相同的結構體。1.2通用鍊錶指標域 從圖中可以看出通用鍊錶的前向指標指向前乙個結點的指標域的首位址,後向指標指向下乙個節點的指標域的首位址,所以在不同的...