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

隨筆-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 閱讀(981) 評論(0)  編輯 收藏 引用
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            久久一区中文字幕| 久久久久久一区| 国产一区二区在线观看免费播放 | 欧美www在线| 美女在线一区二区| 欧美激情女人20p| 亚洲精品乱码久久久久久蜜桃麻豆| 久久人人爽爽爽人久久久| 久久久久久久久久码影片| 久久综合99re88久久爱| 亚洲高清网站| 亚洲第一色在线| 亚洲成人直播| 99热精品在线| 久久国产精品久久久久久| 美国十次成人| 日韩亚洲精品电影| 欧美在线视频一区二区| 欧美高清不卡在线| 国产日韩欧美精品一区| 亚洲国产精品毛片| 亚洲午夜在线观看| 久久野战av| 中文欧美日韩| 鲁大师成人一区二区三区| 欧美日韩免费观看中文| 黄色成人免费观看| 亚洲男人的天堂在线aⅴ视频| 久久综合久久综合久久综合| 日韩视频免费观看| 久久中文精品| 国产区精品视频| 一区二区三区黄色| 蜜臀91精品一区二区三区| 中日韩美女免费视频网址在线观看 | 久久精品免费观看| 欧美日韩视频不卡| 在线观看一区欧美| 午夜精品久久久久久99热| 欧美激情欧美狂野欧美精品 | 欧美激情在线免费观看| 国产亚洲一区二区三区在线播放| 亚洲另类自拍| 玖玖综合伊人| 午夜精品美女久久久久av福利| 欧美激情a∨在线视频播放| 国产日韩精品电影| 亚洲男人的天堂在线观看| 亚洲国产1区| 另类成人小视频在线| 国产自产v一区二区三区c| 欧美制服第一页| 亚洲四色影视在线观看| 欧美日韩免费观看一区=区三区 | 在线精品在线| 免费不卡在线视频| 久久国产福利国产秒拍| 国产日韩欧美自拍| 欧美中文在线观看| 香蕉成人久久| 黄色亚洲网站| 蜜臀av一级做a爰片久久| 国产精品一二三| 在线一区二区日韩| 99精品视频免费观看| 欧美日韩国产色视频| 宅男噜噜噜66一区二区66| 亚洲精品老司机| 欧美日韩1234| 亚洲伊人伊色伊影伊综合网| 亚洲小说区图片区| 国产日韩一区在线| 久久中文精品| 欧美成人精品1314www| 亚洲三级免费电影| 亚洲美女电影在线| 国产精品天天摸av网| 久久久91精品| 欧美aⅴ一区二区三区视频| 9久re热视频在线精品| 亚洲精品1区| 亚洲电影第1页| 欧美色综合天天久久综合精品| 亚洲香蕉网站| 久久大综合网| 亚洲精品护士| 亚洲伊人第一页| 在线精品视频一区二区三四| 亚洲狼人精品一区二区三区| 国产欧美日韩免费| 亚洲国产成人高清精品| 国产精品自在在线| 亚洲国产精品一区二区久| 国产精品久久久久久福利一牛影视 | 美女国产精品| 亚洲视频图片小说| 久久精品国产清自在天天线 | 蜜臀久久久99精品久久久久久 | 亚洲国产精品悠悠久久琪琪| 欧美天堂在线观看| 久久阴道视频| 国产精品成人一区二区三区夜夜夜| 性久久久久久| 欧美成人dvd在线视频| 亚洲欧洲99久久| 欧美www在线| 国产精品久久二区| 欧美成人久久| 国产欧美日韩视频| 亚洲美女中文字幕| 在线日韩欧美| 欧美在线91| 亚洲欧美日韩精品在线| 欧美国产亚洲另类动漫| 美女黄网久久| 国产主播在线一区| 欧美在线视频免费播放| 国产精品va在线播放| 久久香蕉国产线看观看网| 欧美日韩亚洲不卡| 欧美成年人视频网站欧美| 国产欧美视频在线观看| 亚洲日产国产精品| 国产亚洲欧美日韩日本| 日韩视频在线一区| 在线视频国产日韩| 香蕉成人啪国产精品视频综合网| 亚洲一区二区三区四区中文 | 欧美ed2k| 亚洲影音先锋| 亚洲网站视频| 欧美精品网站| 亚洲国产一区二区视频| 极品尤物久久久av免费看| 亚洲欧美日韩精品久久奇米色影视| 亚洲视频在线视频| 欧美三级不卡| 一区二区欧美国产| 在线午夜精品自拍| 国产精品va在线播放我和闺蜜| 亚洲最新视频在线播放| 亚洲综合色激情五月| 国产精品国产一区二区| 亚洲综合色丁香婷婷六月图片| 制服丝袜激情欧洲亚洲| 99国产精品私拍| 欧美大香线蕉线伊人久久国产精品| 亚洲欧美日韩一区| 国产精品美女久久久免费| 亚洲一区在线直播| 亚洲六月丁香色婷婷综合久久| 噜噜噜噜噜久久久久久91| 亚洲电影免费观看高清完整版在线观看| 亚洲一区免费| 一区二区三区日韩欧美| 欧美激情日韩| 亚洲另类在线一区| 欧美国产精品久久| 麻豆91精品| 亚洲精品一区二| 亚洲七七久久综合桃花剧情介绍| 久久这里有精品视频| 亚洲人成网站精品片在线观看| 午夜精品福利在线观看| 性高湖久久久久久久久| 蜜桃av久久久亚洲精品| 亚洲第一网站免费视频| 亚洲午夜在线视频| 久久不射网站| 久久狠狠婷婷| 欧美成人午夜| 亚久久调教视频| 国产日韩欧美高清免费| 乱码第一页成人| 999在线观看精品免费不卡网站| 欧美三日本三级少妇三2023| 亚洲欧美日韩国产一区二区三区| 久久综合色综合88| 亚洲无线一线二线三线区别av| 国产一区二区日韩精品欧美精品| 欧美成人免费全部观看天天性色| 亚洲永久免费观看| 亚洲国产福利在线| 久久精品国产99精品国产亚洲性色| 亚洲三级观看| 国产一区亚洲一区| 国产精品久久波多野结衣| 欧美成年网站| 久久电影一区| 亚洲女优在线| 99国产精品久久| 亚洲国产精品尤物yw在线观看| 久久久精品国产免费观看同学| 亚洲视频中文| 日韩视频在线一区二区三区| 亚洲国产一二三| 亚洲国产精品va在线观看黑人| 国产一区二区精品久久91| 国产精品免费看片| 国产精品久久久|