程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 第16章 模板與泛型編程(7)

第16章 模板與泛型編程(7)

編輯:C++入門知識

16.4 類模板成員

2. QueueItem類

//QueueItem.h  
#ifndef QUEUEITEM_H  
#define QUEUEITEM_H  
template <class Type> class QueueItem; 
#include "QueueItem.cpp"  
#endif 
//QueueItem.h
#ifndef QUEUEITEM_H
#define QUEUEITEM_H
template <class Type> class QueueItem;
#include "QueueItem.cpp"
#endif//QueueItem.cpp  
#include "stdafx.h"  
 
template <class Type>  
class QueueItem 

    QueueItem(const Type &t):item(t), next(0){} 
    Type item; 
    QueueItem *next; 
}; 
//QueueItem.cpp
#include "stdafx.h"

template <class Type>
class QueueItem
{
 QueueItem(const Type &t):item(t), next(0){}
 Type item;
 QueueItem *next;
};3. Queue類

//Queue.h  
#ifndef QUEUE_H  
#define QUEUE_H  
 
template <class Type>  
class Queue; 
#include "Queue.cpp"  
 
#endif 
//Queue.h
#ifndef QUEUE_H
#define QUEUE_H

template <class Type>
class Queue;
#include "Queue.cpp"

#endif//Queue.cpp  
#include "stdafx.h"  
#include "QueueItem.h"  
 
template <class Type> 
class Queue 

public: 
    Queue():head(0), tail(0){} 
    Queue(const Queue &Q):head(0), tail(0) 
    {copy_elems(Q);} 
    Queue& operator=(const Queue&); 
    ~Queue(){destroy();} 
    Type& front() 
    {return head->item;} 
    const Type &front() const{return head->item;} 
    void push(const Type &); 
    void pop(); 
    bool empty() const 
    {return head==0;} 
private: 
    QueueItem<Type> *head; 
    QueueItem<Type> *tail; 
    void destroy(); 
    void copy_elems(const Queue&); 
}; 

 摘自 xufei96的專欄
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved