#include <iostream>
struct Spec {
Spec(int age_, int income_) : age(age_), income(income_) {}
int age;
int income;
};
std::ostream& operator << (std::ostream& os, const Spec& spec) {
return os << "年齢:" << spec.age << " 年収:" << spec.income;
}
class Ore {
public:
Ore() : spec_(23, 0) {}
void export_spec() const {
std::cout << "俺のスペック " << spec_ << std::endl;
}
int* age_ptr() { return &spec_.age; }
int* income_ptr() { return &spec_.income; }
private:
Spec spec_;
};
int main() {
Ore ore;
ore.export_spec();
*ore.age_ptr() = 30;
*ore.income_ptr() = 10000000;
ore.export_spec();
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKc3RydWN0IFNwZWMgewogICAgU3BlYyhpbnQgYWdlXywgaW50IGluY29tZV8pIDogYWdlKGFnZV8pLCBpbmNvbWUoaW5jb21lXykge30KCiAgICBpbnQgYWdlOwogICAgaW50IGluY29tZTsKfTsKCnN0ZDo6b3N0cmVhbSYgb3BlcmF0b3IgPDwgKHN0ZDo6b3N0cmVhbSYgb3MsIGNvbnN0IFNwZWMmIHNwZWMpIHsKICAgIHJldHVybiBvcyA8PCAi5bm06b2iOiIgPDwgc3BlYy5hZ2UgPDwgIiDlubTlj446IiA8PCBzcGVjLmluY29tZTsKfQoKY2xhc3MgT3JlIHsKcHVibGljOgogICAgT3JlKCkgOiBzcGVjXygyMywgMCkge30KICAgIHZvaWQgZXhwb3J0X3NwZWMoKSBjb25zdCB7CiAgICAgICAgc3RkOjpjb3V0IDw8ICLkv7rjga7jgrnjg5rjg4Pjgq8gIiA8PCBzcGVjXyA8PCBzdGQ6OmVuZGw7CiAgICB9CgogICAgaW50KiBhZ2VfcHRyKCkgeyByZXR1cm4gJnNwZWNfLmFnZTsgfQogICAgaW50KiBpbmNvbWVfcHRyKCkgeyByZXR1cm4gJnNwZWNfLmluY29tZTsgfQoKcHJpdmF0ZToKICAgIFNwZWMgc3BlY187Cn07CgppbnQgbWFpbigpIHsKICAgIE9yZSBvcmU7CgogICAgb3JlLmV4cG9ydF9zcGVjKCk7CgogICAgKm9yZS5hZ2VfcHRyKCkgPSAzMDsKICAgICpvcmUuaW5jb21lX3B0cigpID0gMTAwMDAwMDA7CiAgICBvcmUuZXhwb3J0X3NwZWMoKTsKfQo=