该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//miniqueue.h
#ifndef MINIQUEUE_H
#define MINIQUEUE_H
#include
using std::list;
template
class MiniQueue
{
public:
MiniQueue();
~MiniQueue();
T& front();
const T& front()const;
T& back();
const T& back()const;
void push(const T&);
void pop();
bool empty()const;
int size()const;
private:
list qlist;
};
#endif
//miniqueue.cpp
#include
#include”miniqueue.h”
using std::list;
template
MiniQueue::MiniQueue()
:qlist(0)
{}
template
MiniQueue::~MiniQueue()
{}
template
T& MiniQueue::front() { return qlist.front(); }
template
const T& MiniQueue::front()const
{ return qlist.front(); }
template
T& MiniQueue::back() { return qlist.back(); }
template
const T& MiniQueue::back()const { return qlist.back(); }
template
void MiniQueue::push(const T& item) qlist.push_back(item); }
template
void MiniQueue::pop() { qlist.pop_front(); }
template
bool MiniQueue::empty()const{ return qlist.empty();}
template
int MiniQueue::size()const{ return qlist.size(); }
//main.cpp
#include
#include
#include”miniqueue.h”
int main()
{
MiniQueue oddQueue,evenQueue;
srand(time(0));
int number;
for(int i=0;i<20;i++){
number=rand()%100;
if(number%2==0)
evenQueue.push(number);
else
oddQueue.push(number);
}
while(!evenQueue.empty()){
std::cout<
evenQueue.pop();
}
std::cout<<:endl>
while(!oddQueue.empty()){
std::cout<
oddQueue.pop();
}
std::cout<<:endl>
return 0;
}
g++ -c miniqueue.cpp //终端无输出
g++ -c main.cpp //终端无输出
g++ miniqueue.o main.o -o main终端输出如下:
main.o: In function `main’:
main.cpp:(.text+0x12): undefined reference to `MiniQueue::MiniQueue()’
main.cpp:(.text+0x1e): undefined reference to `MiniQueue::MiniQueue()’
main.cpp:(.text+0x86): undefined reference to `MiniQueue::push(int const&)’
main.cpp:(.text+0x9c): undefined reference to `MiniQueue::push(int const&)’
main.cpp:(.text+0xbb): undefined reference to `MiniQueue::front()’
main.cpp:(.text+0xe9): undefined reference to `MiniQueue::pop()’
main.cpp:(.text+0xf5): undefined reference to `MiniQueue::empty() const’
main.cpp:(.text+0x11e): undefined reference to `MiniQueue::front()’
main.cpp:(.text+0x14c): undefined reference to `MiniQueue::pop()’
main.cpp:(.text+0x158): undefined reference to `MiniQueue::empty() const’
main.cpp:(.text+0x184): undefined reference to `MiniQueue::~MiniQueue()’
main.cpp:(.text+0x190): undefined reference to `MiniQueue::~MiniQueue()’
main.cpp:(.text+0x1a8): undefined reference to `MiniQueue::~MiniQueue()’
main.cpp:(.text+0x1b8): undefined reference to `MiniQueue::~MiniQueue()’
collect2: ld 返回 1