青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

隨筆-145  評論-173  文章-70  trackbacks-0

異質節點鏈表,就是說對于不是同一個類型的節點,也讓它們構成一個鏈表,而且可以通過遍歷指針的方法來實現遍歷,輸出,插入,刪除等。

此處我解決的辦法是:進行抽象,得到它們的共性,然后將它們放在一個公共的基類中,定義接口,即虛函數,然后這些類的訪問,都可以通過虛函數來實現,就是基類的指針作為遍歷指針,指向實際的對象,然后就可以實現輸出各個節點的信息了。

#pragma warning(disable:4996

#include 
<iostream>

using namespace std;
const int MAX = 25;

class Base{
public:
 
char name[MAX];
 
int age;
 
char social_Num[MAX];
 
virtual void print(){}
 
virtual void set_next(Base *p){}
 
virtual Base *get_next()return NULL;}
}
;

class Student:public Base{
 
char grad[MAX];
 
double average_score;
public:
 Base 
*next;
 Student(
char *name,int age1,char *social,char *grad,double average):next(NULL){
  strcpy(
this->name,name);
  
this->age = age1;
  strcpy(
this->social_Num,social);
  strcpy(
this->grad,grad);
  
this->average_score = average;
 }

 
void set_next(Base *p){  next = p;}
 Base 
*get_next()return this->next; }
 
void print(){
  cout 
<< "姓名: "<<this->name << "\t年齡:" << this->age << "\n社會保險號:"
   
<< this->social_Num << "\t年級:" << this->grad << "\t\t平均成績:" << this->average_score << endl;
 }

}
;

class Clerk:public Base{
 
double wage;
public:
 Base 
*next;
 Clerk(
char *name,int age1,char *social,double wage1):next(NULL){
  strcpy(
this->name,name);
  
this->age = age1;
  strcpy(
this->social_Num,social);
  
this->wage = wage1;
 }

 
void set_next(Base *p){  next = p;}
 Base 
*get_next()return this->next;}
 
void print(){
  cout 
<< "姓名: "<<this->name << "\t年齡:" << this->age << "\n社會保險號:"
   
<< this->social_Num << "\t工資:" << this->wage  << endl;
 }

}
;

class Professer:public Base{
 
double wage;
 
char major[MAX];
public:
 Base 
*next;
 Professer(
char *name,int age1,char *social,double wage1,char *major1):next(NULL){
  strcpy(
this->name,name);
  
this->age = age1;
  strcpy(
this->social_Num,social);
  
this->wage = wage1;
  strcpy(
this->major,major1);
 }

 
void set_next(Base *p){  next = p;}
 Base 
*get_next()return this->next;}
 
void print(){
  cout 
<< "姓名: "<<this->name << "\t年齡:" << this->age << "\n社會保險號:"
   
<< this->social_Num << "\t工資:" << this->wage << "\t研究方向:" << this->major << endl;
 }

}
;


class List{//逆序建立鏈表
 Base *head;
public:
 List(Base 
*p){
  head 
= p;
  p
->set_next(NULL); //將插入節點域的next賦值為NULL
 }

 
void insert(Base *p){
  p
->set_next(head); //新的節點插入前面,建立兩個節點之間的聯系,即使不是同一個類,也可以利用指針
  head = p;  //重置初始表頭指針
 }

 
void delete_list(Base *p)
  Base 
*tmp = head;
  
while(tmp->get_next()!= p){
   tmp 
= tmp->get_next();
  }

  Base 
*tmp2 = tmp->get_next()->get_next();
  delete tmp
->get_next();  //刪除那個中間的節點
  tmp->set_next(tmp2);
 }

 
void print(){
  Base 
*ptmp = head;
  
while(ptmp->get_next()!=NULL){
   ptmp
->print();
   ptmp 
= ptmp->get_next();
  }

  ptmp
->print(); //輸出最后一個,因為后繼節點為NULL,所以特殊處理
 }

}
;
//可以實現的是輸出,而且是滿足虛函數的特性,這里針對的是next指針和print虛函數,從結果可以看到,是根據虛指針
//實際指向的單元的類型來輸出的。next指針都是Base *類型的,不過輸出的不是Base的信息(那樣就沒有輸出了),
//而是實際指向的類型,比如這里的是Clerk。
int main()
{
 Student student(
"jack",20,"132343","g1",87.8);
 Clerk clerk(
"Clerk",34,"23434",1000);
 Professer professer(
"Professor",50,"234356",10000,"computer");
 List aList(
&student);
 aList.insert(
&clerk);
 aList.insert(
&professer);
 aList.print();
 
return 0;
}


 
posted on 2010-01-26 00:46 deercoder 閱讀(982) 評論(0)  編輯 收藏 引用

只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久久人成影片一区二区三区观看| 欧美午夜精品久久久久免费视| 99在线视频精品| 午夜宅男欧美| 亚洲图片自拍偷拍| 欧美aⅴ99久久黑人专区| 欧美在线啊v| 欧美日韩国产一区| 亚洲第一久久影院| 国产一区二区三区奇米久涩 | 亚洲一区二区影院| 模特精品在线| 免费观看久久久4p| 国产一区二区三区免费在线观看| 在线午夜精品自拍| 99视频一区二区三区| 免费国产自线拍一欧美视频| 久久久噜噜噜久久中文字免| 国产精品一页| 亚洲一区亚洲二区| 亚洲欧美三级在线| 国产精品狼人久久影院观看方式| 亚洲人成7777| 日韩一级黄色大片| 欧美区在线播放| 亚洲美女电影在线| 亚洲图色在线| 国产精品日本| 午夜综合激情| 美女脱光内衣内裤视频久久网站| 国产综合在线视频| 久久九九国产精品| 美女成人午夜| 亚洲日本免费| 欧美日韩精品一本二本三本| 亚洲国内自拍| 亚洲午夜伦理| 国产日韩欧美亚洲| 久久精品国产一区二区三区免费看 | 久久久噜噜噜久久| 欧美福利小视频| 99re6这里只有精品| 欧美午夜不卡在线观看免费 | 亚洲小少妇裸体bbw| 欧美日韩一区高清| 亚洲午夜精品17c| 久久国产精品一区二区三区四区 | 亚洲天堂成人在线视频| 国产精品www994| 欧美在线观看你懂的| 欧美一区免费| 在线高清一区| 欧美日韩国产精品一区| 亚洲一区二区三区高清 | 日韩一区二区精品| 欧美一区激情视频在线观看| 在线电影一区| 欧美三区免费完整视频在线观看| 亚洲欧美日韩综合aⅴ视频| 欧美88av| 亚洲综合丁香| 亚洲国产三级| 国产精品一二| 蜜桃av综合| 亚洲一区二区三区四区中文| 免费观看成人www动漫视频| 亚洲免费在线观看| 亚洲电影自拍| 国产午夜精品全部视频播放| 嫩草影视亚洲| 欧美一级专区免费大片| 亚洲人成在线影院| 久久久www成人免费无遮挡大片| 亚洲精品国产精品久久清纯直播| 国产精品入口夜色视频大尺度| 美女尤物久久精品| 午夜精品视频一区| 亚洲精品欧美| 男女激情久久| 久久精品99国产精品| 亚洲美女视频在线免费观看| 国产在线精品成人一区二区三区| 欧美日韩国产精品一区| 久久综合中文字幕| 久久国产精品免费一区| 亚洲一区二区三区国产| 亚洲欧洲综合另类在线| 老司机午夜精品| 久久精品日韩欧美| 欧美影院视频| 午夜精品久久久久久久99水蜜桃| 日韩视频免费观看高清在线视频| 在线播放日韩| 精品91免费| 国产一区二区三区在线免费观看| 国产精品每日更新| 欧美日韩在线观看一区二区三区| 免费视频一区| 美日韩精品视频| 麻豆精品精华液| 久久免费国产| 麻豆国产精品一区二区三区| 久久免费的精品国产v∧| 久久精品五月婷婷| 久久久人人人| 美女黄网久久| 欧美黄色影院| 欧美日韩一区二区三区免费| 欧美日韩美女在线| 国产精品久久久久久久一区探花| 国产精品xxxxx| 国产精品久久久久久久久借妻 | 一区二区自拍| 在线高清一区| 亚洲欧洲一区二区三区| 亚洲国产一区二区三区a毛片| 亚洲国产精品成人| 亚洲精品在线免费| 一区二区三区久久精品| 亚洲午夜久久久久久久久电影院 | 亚洲日本黄色| 夜夜爽99久久国产综合精品女不卡| 亚洲乱码国产乱码精品精可以看| 亚洲精品久久久一区二区三区| 亚洲精品美女| 亚洲午夜国产一区99re久久 | 久久久蜜桃一区二区人| 欧美不卡视频一区| 亚洲精品国产精品国自产在线| 一本色道久久99精品综合| 亚洲一区精品在线| 久久国产免费看| 女人香蕉久久**毛片精品| 欧美日本在线一区| 国产精品色一区二区三区| 极品日韩久久| 99re热这里只有精品免费视频| 亚洲欧美日韩成人| 久久综合狠狠综合久久综青草 | 亚洲综合大片69999| 久久久www成人免费无遮挡大片 | 经典三级久久| 亚洲无线视频| 久久精品二区三区| 亚洲国产日韩欧美在线99| 中国日韩欧美久久久久久久久| 久久成人一区二区| 欧美理论在线| 精品69视频一区二区三区| 在线一区二区三区四区五区| 久久精品人人做人人综合| 亚洲精品乱码久久久久久久久| 亚洲一区二区三区四区中文| 另类激情亚洲| 国产精品尤物福利片在线观看| 亚洲国产你懂的| 欧美一区二区三区电影在线观看| 欧美成人中文字幕| 亚洲欧美日韩视频二区| 欧美激情无毛| 樱桃成人精品视频在线播放| 亚洲永久免费精品| 亚洲大胆人体视频| 久久成人18免费观看| 亚洲国产欧美日韩精品| 性高湖久久久久久久久| 欧美日韩专区| 亚洲人成77777在线观看网| 久久成人免费| 中文国产亚洲喷潮| 欧美激情按摩在线| 在线观看亚洲精品视频| 欧美在线在线| 中文国产成人精品久久一| 欧美精品1区2区| 亚洲精品国产精品国产自| 久久亚洲一区二区三区四区| 亚洲欧美日韩人成在线播放| 欧美视频中文在线看| 99天天综合性| 亚洲国产一区二区a毛片| 久久躁狠狠躁夜夜爽| 国内成+人亚洲+欧美+综合在线| 午夜精品国产更新| 一区二区冒白浆视频| 欧美日韩aaaaa| 99精品欧美一区二区蜜桃免费| 欧美sm重口味系列视频在线观看| 久久精品国产久精国产一老狼 | 亚洲福利视频网站| 久久久噜噜噜| 亚洲国产成人精品女人久久久 | 欧美在线免费播放| 亚洲一区二区四区| 国产精品久久久久久妇女6080| 亚洲自拍都市欧美小说| 一区二区免费在线观看| 欧美性大战xxxxx久久久| 亚洲主播在线观看| 亚洲专区欧美专区|