C++语言题目2
//某软件需要把运行过程中的一些日志信息(发生时间,类型,内容)进行记录, //采用面向对象思想,实现了一个日志类Log, Log类中有saveLog方法存储日志 //信息,现在假设该软件支持日志信息的多种存储方式,例如可以将日志信息 //存储进文本文件,也可以放入某数据库中,Log类的设计尽量满足面向对象的 //开-闭原则(支持对新的存储方式的扩展,但Log类的代码不修改),请设计并实现。 #include"iostream" #include"string" using namespace std; class Log{ public: virtual void saveLog() = 0; }; class LogSaveToFile:public Log { private: string content; public: LogSaveToFile(string logcontent) { content = logcontent; } void saveLog() { cout<<"这是日志内容:"<<content<<endl; cout<<"已经把日志写到文本文件。"<<endl; } }; class LogSaveToSQLServer:public Log { private: string content; public: LogSaveToSQLServer(string logcontent) { content = logcontent; } void saveLog() { cout<<"这是日志内容:"<<content<<endl; cout<<"已经把日志写到SQL Server。"<<endl; } }; int main() { cout<<"1、把日志写到文本文件:"<<endl; LogSaveToFile lstf("abc"); lstf.saveLog(); cout<<"2、把日志写到SQL Server:"<<endl; LogSaveToSQLServer ltss("abc"); ltss.saveLog(); return 1; }