多型實現通用鍊錶

2021-10-12 13:51:52 字數 1849 閱讀 1484

鍊錶節點的資料域型別不再為具體的資料型別,而是通過乙個基類指標引入,達到不借助模板而是通過多型實現通用鍊錶

#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通用鍊錶指標域 從圖中可以看出通用鍊錶的前向指標指向前乙個結點的指標域的首位址,後向指標指向下乙個節點的指標域的首位址,所以在不同的...