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

隨筆-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>
            亚洲精品乱码| 国产一区二区欧美| 美国成人毛片| 国产精品成人一区二区三区吃奶| 久热精品在线视频| 国产精品视频区| 亚洲精品资源美女情侣酒店| 在线观看精品| 午夜天堂精品久久久久| 中文日韩欧美| 欧美日产一区二区三区在线观看 | 国产一区二区激情| 一本久道久久综合中文字幕| 亚洲美女电影在线| 免费不卡视频| 欧美刺激午夜性久久久久久久| 国产欧美韩日| 亚洲免费在线观看视频| 午夜日韩电影| 国产欧美精品一区二区三区介绍| 一区二区动漫| 亚洲欧美三级在线| 国产精品视频一区二区三区| 亚洲图片欧洲图片av| 午夜精品久久久久久久99樱桃| 欧美日韩中文字幕日韩欧美| 99re这里只有精品6| 亚洲午夜av电影| 国产精品看片你懂得| 亚洲性线免费观看视频成熟| 午夜久久福利| 国产一区二区久久久| 久久精品一区二区| 欧美成人性生活| 亚洲国产成人久久综合一区| 欧美大片免费久久精品三p | 99热这里只有成人精品国产| 一二三四社区欧美黄| 欧美日韩在线视频观看| 在线亚洲自拍| 久久婷婷久久| 91久久国产综合久久| 欧美日韩免费观看中文| 亚洲一区二区视频在线观看| 欧美在线观看网址综合| 悠悠资源网久久精品| 欧美a级理论片| 一区二区电影免费观看| 久久久久久久久蜜桃| 亚洲高清视频在线| 欧美视频一区二区在线观看 | 久久成人精品视频| 亚洲国产高清在线| 亚洲免费网址| 亚洲大胆人体在线| 欧美日韩在线影院| 久久精品日韩欧美| 亚洲精品日韩在线观看| 欧美一区二区三区视频在线观看 | 免费在线观看精品| 中国成人在线视频| 欧美高清一区二区| 亚洲欧美久久久| …久久精品99久久香蕉国产 | 亚洲永久精品大片| 国产在线精品自拍| 欧美日韩国产精品成人| 欧美在线一二三四区| 亚洲日本无吗高清不卡| 久久久久久久精| 亚洲午夜久久久久久久久电影院| 黄色日韩在线| 国产精品第2页| 欧美激情偷拍| 久久国产高清| 亚洲影院免费| 日韩一区二区久久| 亚洲国产精品精华液2区45| 欧美一区二区三区四区在线观看地址| 亚洲国产中文字幕在线观看| 国产精品永久在线| 欧美午夜a级限制福利片| 美女黄色成人网| 久久精品国产成人| 亚洲欧美日本日韩| 一区二区日韩免费看| 欧美国产国产综合| 久久亚洲国产成人| 欧美亚洲三区| 亚洲欧美日韩一区二区三区在线| 日韩午夜高潮| 亚洲国产精品悠悠久久琪琪 | 国产欧美大片| 国产精品久久久久免费a∨大胸| 免费的成人av| 久久久91精品国产| 久久精品欧美日韩| 欧美在线影院在线视频| 欧美一区二区三区日韩视频| 亚洲一区二区三区涩| 亚洲视频在线视频| 中文国产成人精品| 在线亚洲电影| 亚洲字幕一区二区| 亚洲女人小视频在线观看| 在线一区欧美| 亚洲影视中文字幕| 亚洲欧美日韩精品久久久久 | 亚洲免费网址| 亚洲欧美国产不卡| 亚洲欧美视频在线观看| 亚洲欧美在线一区二区| 亚洲综合导航| 欧美影院成年免费版| 久久精品一区二区三区中文字幕| 久久国产欧美| 男人的天堂亚洲在线| 你懂的视频一区二区| 欧美大片免费久久精品三p | 国产欧美日韩免费| 黄色一区二区三区四区| 亚洲第一福利在线观看| 亚洲人永久免费| 正在播放日韩| 欧美一区二区三区免费观看| 久久久久久久久一区二区| 麻豆9191精品国产| 亚洲国产日韩欧美在线99| 日韩一级黄色大片| 亚洲欧美日韩在线| 久久人人九九| 欧美日韩美女一区二区| 国产日韩欧美一区二区三区在线观看 | 欧美精品一线| 国产精品久久久久久久午夜片| 国产精品一区免费视频| 黄色欧美成人| 亚洲色图自拍| 久久野战av| 亚洲免费观看在线观看| 欧美专区在线观看| 欧美日韩亚洲一区二区三区| 国产欧美日韩亚洲| 亚洲精品欧美日韩专区| 亚洲欧美日韩直播| 亚洲第一视频| 亚洲欧美日本另类| 欧美精品一区二区在线观看| 国产日本亚洲高清| 亚洲毛片播放| 久久三级福利| 夜夜爽www精品| 免费h精品视频在线播放| 国产精品久久久对白| 亚洲欧洲综合另类| 久久久久久有精品国产| 夜夜嗨av一区二区三区中文字幕| 久久久久久有精品国产| 国产精品mv在线观看| 亚洲经典三级| 狼狼综合久久久久综合网| 在线视频欧美日韩精品| 欧美国产高潮xxxx1819| 好看的日韩视频| 亚洲欧美欧美一区二区三区| 亚洲电影免费观看高清完整版在线| 亚洲天堂偷拍| 欧美日韩高清在线| 亚洲国产裸拍裸体视频在线观看乱了 | 久久影院亚洲| 国产中文一区二区三区| 亚洲欧美成人一区二区在线电影 | 久久综合一区二区三区| 国产欧美二区| 亚洲欧美在线磁力| 一区二区激情| 欧美人与性动交a欧美精品| 亚洲国产第一页| 久久伊人亚洲| 久久激情一区| 国产午夜亚洲精品羞羞网站| 亚洲欧美激情视频在线观看一区二区三区| 欧美国产日产韩国视频| 久久久欧美一区二区| 狠狠久久亚洲欧美| 欧美在线观看视频| 亚洲欧美视频在线| 国产伦精品一区二区三| 午夜精品999| 亚洲一区二区三区中文字幕在线| 国产精品r级在线| 亚洲欧美综合另类中字| 亚洲网址在线| 国产精品美女久久久久久2018 | 亚洲一区二区三区高清| 欧美日韩在线视频一区二区| 亚洲夜间福利| 亚洲影视九九影院在线观看| 国产精品人人做人人爽| 欧美在线观看www|