构造器
一种特殊的方法。
1.构造器的名字必须和它所在的类的名字一样
2.系统在创建某个类的实例时会第一时间自动调用这个类的构造器
3.构造器永远不会返回任何值
析构器
销毁对象时,完成清理内存
示例代码
#include<iostream>
#include<fstream>
#include<string>
class StoreQuote
{
public:
std::string quote, speaker;
std::ofstream fileOutput;
StoreQuote();
~StoreQuote();
void inputQuote();
void inputSpeaker();
bool write();
};
StoreQuote::StoreQuote()
{
fileOutput.open("test.txt", std::ios::app);
}
StoreQuote::~StoreQuote()
{
fileOutput.close();
}
void StoreQuote::inputQuote()
{
std::getline(std::cin, quote);
}
void StoreQuote::inputSpeaker()
{
std::getline(std::cin, speaker);
}
bool StoreQuote::write()
{
if(fileOutput.is_open())
{
fileOutput << quote << " -" << speaker << "\n";
}
else
{
return false;
}
}
int main()
{
StoreQuote quote;
std::cout << "请输入一句名言:\n";
quote.inputQuote();
std::cout << "请输入作者:\n";
quote.inputSpeaker();
if(quote.write())
{
std::cout << "成功写入文件\n";
}
else
{
std::cout << "写入文件失败\n";
return 1;
}
return 0;
}