1. 程式人生 > 實用技巧 >vscode的cmake操作問題

vscode的cmake操作問題

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)