您的位置:首页 > 编程语言 > C语言/C++

C++模板类问题求教

2015-03-25 21:17 239 查看
出现LINK错误,写的方式跟以前写的也都差不多,始终不知道错在了哪里,求大牛帮忙解决。
//main.cpp
#include"Head.cpp"
#include<iostream>
#include<stdlib.h>
using namespace std;
typedef Car<int> CarInt;
Aqueue<CarInt> BianDao;
void main(){
int n = rand() % 6;
int time = 1;
for (int i = 0; i<n; i++){
Car<int> car(time);
BianDao.QInsert(car);
}
}
#Head.cpp
#ifndef Head_H
#define Head_H
template<class T>
class Aqueue{
int front;
int rear;
int count;
T* QArray;
int size;
public:
Aqueue(int MaxQueueSize = 5);
~Aqueue(void){ delete[]QArray; }
bool QInsert(const T&item);
bool QDelete(const T&item);
void QClear(void){ front = rear = count = 0; }
bool IsEmpty(void)const{ return count == 0; }
bool IsFull(void)const{ return count == size; }
};
template <class T>
class Car{
int Car_Number;
int Start_Time;
int Out_Time;
public:
Car(const T&item);
~Car();
bool Get_Car_Number(const T&item){ item = Car_Number; }
bool Get_Start_Time(const T&item);
bool Get_Out_Time(const T&item);
bool Set_Start_Time(const T&item);
};
template<class T>
class Park{
int Status;
int GetCarAmount;
int OutCarAmount;
int Amout_Time;
int Money_Amount;
public:
bool Get_Status(const T&item);
bool Set_Status(const T&item){ item = Status; }
bool Get_GetCarAmount(const T&item);
bool Set_GetCarAmount(const T&item);
bool Get_AmoutTime(const T&item);
bool Set_AmuontTime(const T&item);
bool Get_OutCarAmount(const T&item);
bool Set_OutCarAmount(const T&item);
bool Get_Money_Amount(const T&item);
bool Set_Money_Amount(const T&item);
};
#endif;
<pre name="code" class="cpp">//park1.cpp
#include"Head.cpp"
#include<iostream>
#include<stdlib.h>
using namespace std;
template<class T>
bool Aqueue<T>::QInsert(const T&item){
if (IsFull()){ cout << "队列已满" << endl; return false; }
QArray[rear] = item;
rear = (rear + 1) % size;
count++;
return true;
}template<class T>
bool Aqueue<T>::QDelete(const T&item){
if (IsEmpty()){ cout << "队列为空" << endl; return falese; }
item = QArray[front];
front = (front + 1) % size;
count--;
return true;
}
template<class T>
Aqueue<T>::Aqueue(int MaxQueuesize){
size = MaxQueuesize;
QArray = new T[MaxQueuesize];
count = front = rear = 0;
}
template <class T>
bool Car<T>::Get_Start_Time(const T&item){
item = Start_time;
return true;
}
template <class T>
bool Car<T>::Set_Start_Time(const T&item){
Start_time = item;
return true;
}
template<class T>
Car<T>::Car(const T&item){
Car_Number = 9999 + rand() % 99999;
Start_Time = item;
}



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++