p658.c

来自「this is a gcc file, you can download it 」· C语言 代码 · 共 103 行

C
103
字号
// prms-id: 658#include <iostream>#include <cstdlib>/* We may not find the libg++ <bool.h>.  */#ifndef FALSE#define FALSE false#endif#ifndef TRUE#define TRUE true#endifclass Object {public:    Object();    Object(const Object&);    ~Object();    void OK() const;private:    bool _destructed;};class Char: public Object {public:    Char();    Char(char);    Char(const Char&);    ~Char();    operator char () const;private:    char _c;};int main(){    Char r, s;    r = Char('r');    s = Char('s');}//// Object stuff//Object::Object():_destructed(FALSE){}Object::Object(const Object& other):_destructed(FALSE){    other.OK();}Object::~Object(){    OK();    _destructed = TRUE;}voidObject::OK() const{    if (_destructed) {	std::cerr << "FAILURE - reference was made to a destructed object\n";	std::abort();    }}//// Char stuff//Char::Char():Object(),_c('a'){ }Char::Char(char c):Object(),_c(c){ }Char::Char(const Char& other):Object(other),_c(other._c){ }Char::~Char(){    OK();}Char::operator char () const{    return _c;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?