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 + -
显示快捷键?