/
nanezz
/
hrc
Обзор
Документация
Войти
/
nanezz
/
hrc
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
hrc.cpp
64 строки
1 KB
nanezz
Create: hrc.cpp, hrc.slnx
08 авг 2026, 02:45
Верифицирован
08 авг 2026, 02:45
9daf532
Код
Авторство
О чём код?
#include <fstream> #include <string> class IHTMLPrintable { public: virtual ~IHTMLPrintable() = default; virtual std::string printAsHTML() const = 0; }; class ITextPrintable { public: virtual ~ITextPrintable() = default; virtual std::string printAsText() const = 0; }; class IJSONPrintable { public: virtual ~IJSONPrintable() = default; virtual std::string printAsJSON() const = 0; }; class Data : public IHTMLPrintable, public ITextPrintable, public IJSONPrintable { public: explicit Data(std::string data) : data_(std::move(data)) {} std::string printAsHTML() const override { return "<html>" + data_ + "<html/>"; } std::string printAsText() const override { return data_; } std::string printAsJSON() const override { return "{ \"data\": \"" + data_ + "\"}"; } private: std::string data_; }; void saveToAsHTML(std::ofstream& file, const IHTMLPrintable& printable) { file << printable.printAsHTML(); } void saveToAsText(std::ofstream& file, const ITextPrintable& printable) { file << printable.printAsText(); } void saveToAsJSON(std::ofstream& file, const IJSONPrintable& printable) { file << printable.printAsJSON(); }