C++中类,构造函数,析构函数、拷贝构造函数

【c++】自行封装一个栈的类,包含私有成员属性:栈的数组、记录栈顶的变量,要求成员函数完成:构造函数、析构函数、拷贝构造函数、入栈、出栈、清空栈、判空、判满、获取栈顶元素、求栈的大小

#include 

using namespace std;

class Stack
{
private:
    int *datatype;
    int size;                 //栈的大小
    int top;                 //记录栈顶元素的下标

public:
    //显性定义析构函数
    Stack(int Stacksize)
    {
        size=Stacksize;
        datatype=new int[size];
        top=-1;
    }
    //拷贝构造函数
    Stack(const Stack& other)
    {
        size=other.size;
        top=other.top;
        datatype=new int [size];
        //复制数据
        for(int i=0;i<=top;i++)
        {
            datatype[i]=other.datatype[i];
        }

    }
    //判空
    bool stack_empty()
    {
        return this->top==-1;

    }

    //判满
    bool stack_full()
    {
        return this->top==this->size-1;
    }


    //入栈
    int stack_push(int element)
    {
        if(!stack_full())
        {
            top++;
            datatype[top]=element;
            cout<<"入栈成功:"<=0;i--)
        {cout<size)
        {
            cout<<"获取栈顶元素失败"<

 效果图:

C++中类,构造函数,析构函数、拷贝构造函数_第1张图片

【c++】自行封装一个循环顺序队列的类,包含私有成员属性:存放队列的数组、队头位置、队尾位置,成员函数完成:构造函数、析构函数、拷贝构造函数、入队、出队、清空队列、判空、判满、求队列大小

#include 

using namespace std;

class Queue
{
    int size;
    int *datatype;   //存储队列的数组容器
    int front;                  //记录对头所在元素的下标
    int tail;    //记录最后一个元素的下一个位置的下标//队的大小

public:
    //显性定义无参析构函数
    Queue(int size)
    {
        datatype=new int[size];
        front=0;
        tail=0;
        this->size=size;
    }
    //拷贝构造函数
    Queue(const Queue &other)
    {
        size=other.size;
        front=other.front;
        front=other.front;
        datatype=new int [size];
        //复制数据
        for(int i=front;i

 效果图:

C++中类,构造函数,析构函数、拷贝构造函数_第2张图片

 C++的思维导图

C++中类,构造函数,析构函数、拷贝构造函数_第3张图片

你可能感兴趣的:(c++)