vscode的cmake操作問題
阿新 • • 發佈:2020-12-01
MyQueue.h檔案
#include<iostream> using namespace std; struct node{ int data; node *next; node(){next=nullptr;} node(int val){data=val; next=nullptr;} }; class Queue{ public: Queue(); ~Queue(); void Push(int e); int Pop(); int Size();void show(); private: node *head, *rear; int length; };
MyQueue.cpp檔案
#include "MyQueue.h" Queue::Queue(){ rear=head=new node(); length=0; } Queue::~Queue(){ if(!length){ node *p=nullptr; do{ p=head->next; head->next=p->next; delete p; p=nullptr; }while(head->next); } delete head; head=nullptr; length=0; } void Queue::Push(int e){ node *new_node=new node(e); new_node->next=rear->next; rear->next=new_node; length++; } int Queue::Pop(){ int pop_data=head->next->data; node*pop_node=head->next; head->next=pop_node->next; delete pop_node; pop_node=nullptr; return pop_data; } int Queue::Size(){return length;} void Queue::show(){ node *p=head->next; while(p){ cout<<p->data<<" "; p=p->next; } cout<<endl; }
Main.cpp
#include"MyQueue.h" int a[3]={1,2,3}; Queue q; int main(){ for(int i=0;i<3;++i){ q.Push(a[i]); } q.show(); while(q.Size()){ cout<<q.Pop()<<endl; } }
CMakeLists.txt檔案
cmake_minimum_required(VERSION 3.0) project(MyQueue) include_directories(include) add_executable(Test Main.cpp src/MyQueue.cpp)