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;
}