1

我在工作,我们已经完全锁定了电脑。我这里没有 SSH 终端。我有很多停机时间,我的意思是很多停机时间,因为我可以快速完成工作。我一边工作一边在网上上学,如果我在学习时能以某种方式编译一些基本的 C++ 代码,那就太好了。

有任何想法吗?

我记得有一个代码粘贴站点,您可以在其中选择检查非常基本的 C++ 代码的输出。那个网站是什么?

必须有某种方法可以编译非常基本的 C++ 代码,如下所示:

class Teapot {
    int cups;
    char* desc;
  public:
    Teapot();
    Teapot(int c, const char* d);
    Teapot(const Teapot&);
    ~Teapot();
    Teapot& operator=(const Teapot&);
    void operator=(int n);
    void operator=(const char*);
    void display() const;
};

// Teapot.cpp
#include <iostream>
#include <cstring>
using namespace std;
#include "Teapot.h"

Teapot::Teapot() {
    cups = 0;
    desc = NULL;
}
Teapot::Teapot(int c, const char* d) {
    if (c > 0 && d != NULL) {
        cups = c;
        desc = new char[strlen(d) + 1];
        strcpy(desc, d);
    }
    else {
        desc = NULL;
        *this = Teapot();
    }
}
Teapot::Teapot(const Teapot& t) {
    desc = NULL;
    *this = t;
}
Teapot& Teapot::operator=(const Teapot& t) {
    if (this != &t) {
        delete [] desc;
        cups = t.cups;
        if (t.desc != NULL) {
            desc = new char[strlen(t.desc) + 1];
            strcpy(desc, t.desc);
        }
        else {
            desc = NULL;
        }
    }
    return *this;
}
Teapot::~Teapot() {
    delete [] desc;
}
void Teapot::operator=(int n) {
    if (desc != NULL && n > 0) cups = n;
}
void Teapot::operator=(const char* d) {
    if (d != NULL) {
        delete [] desc;
        desc = new char[strlen(d) + 1];
        strcpy(desc, d);
        cups = 0;
    }
}
void Teapot::display() const {
    if (desc != NULL)
        cout << cups << ' ' << desc << endl;
    else
        cout << "Empty" << endl;
}
4

1 回答 1

2

有很多在线 C++ 编译器,这篇文章有一个很好的列表。虽然它看起来Cameau已经消失并且LiveWorkSpace已经处于只读模式一段时间了。godbolt是列表中奇怪的一个,因为它确实显示了您的程序集输出而不是运行代码。

于 2013-05-07T13:09:02.027 回答