parent
637599084a
commit
3a87df4f4c
@ -0,0 +1,47 @@
|
||||
#include <iostream>
|
||||
#include <fstream>
|
||||
#include <string>
|
||||
|
||||
class Money
|
||||
{
|
||||
private:
|
||||
int yuan, jiao, fen;
|
||||
|
||||
public:
|
||||
Money(int _yuan = 0, int _jiao = 0, int _fen = 0)
|
||||
: yuan{_yuan}, jiao{_jiao}, fen{_fen}
|
||||
{
|
||||
}
|
||||
friend std::ostream &operator<<(std::ostream &os, const Money &m)
|
||||
{
|
||||
if (&os == &std::cout)
|
||||
return os << m.yuan << "元" << m.jiao << "角" << m.fen << "分\n";
|
||||
else
|
||||
return os << m.yuan << ' ' << m.jiao << ' ' << m.fen << '\n';
|
||||
}
|
||||
void save_to_binary(const char *filename)
|
||||
{
|
||||
std::ofstream ofile(filename, std::ios::binary);
|
||||
ofile.write(reinterpret_cast<char *>(&yuan), sizeof(yuan));
|
||||
ofile.write(reinterpret_cast<char *>(&jiao), sizeof(jiao));
|
||||
ofile.write(reinterpret_cast<char *>(&fen), sizeof(fen));
|
||||
ofile.close();
|
||||
}
|
||||
void read_from_binary(const char *filename)
|
||||
{
|
||||
std::ifstream ifile(filename, std::ios::binary);
|
||||
ifile.read(reinterpret_cast<char *>(&yuan), sizeof(yuan));
|
||||
ifile.read(reinterpret_cast<char *>(&jiao), sizeof(jiao));
|
||||
ifile.read(reinterpret_cast<char *>(&fen), sizeof(fen));
|
||||
ifile.close();
|
||||
}
|
||||
};
|
||||
|
||||
int main()
|
||||
{
|
||||
Money m{1, 2, 3}, n{};
|
||||
m.save_to_binary("money.dat");
|
||||
n.read_from_binary("money.dat");
|
||||
std::cout << n;
|
||||
return 0;
|
||||
}
|
Loading…
Reference in new issue