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