练习7.4
编写一个名为Person 的类,使其表示人员的姓名和住址
#include <iostream>
#include <string>
using namespace std;
class Person {
private:
string name;
string address;
};
练习7.5
在你的Person 类中提供一些操作使其能够返回姓名和住址
#include <iostream>
#include <string>
using namespace std;
class Person {
private:
string name;
string address;
public:
string getName() const {return name;}
string getAddress() const { return address; }
};
练习7.9
添加读取和打印 Person 对象的操作
#include <iostream>
#include <string>
using namespace std;
class Person {
private:
string name;
string address;
public:
string getName() const {return name;}
string getAddress() const { return address; }
void setName(string name_) { name = name_; }
void setAddress(string address_) { address = address_; }
};
std::istream& read(std::istream& is, Person& per) {
string name, address;
is >> name >> address;
per.setName(name);
per.setAddress(address);
return is;
}
std::ostream& print(std::ostream& os, Person& per) {
os << per.getName() << per.getAddress();
return os;
}
int main() {
Person per;
read(cin, per);
print(cout, per);
return 0;
}
练习7.15
Person 添加正确的构造函数
#include <iostream>
#include <string>
using namespace std;
class Person {
private:
string name;
string address;
public:
Person() {
name = "no one" ;
address = "none";
}
Person(const string name_, const string address_) {
name = name_;
address = address_;
}
string getName() const {return name;}
string getAddress() const { return address; }
void setName(string name_) { name = name_; }
void setAddress(string address_) { address = address_; }
};
std::istream& read(std::istream& is, Person& per) {
string name, address;
is >> name >> address;
per.setName(name);
per.setAddress(address);
return is;
}
std::ostream& print(std::ostream& os, Person& per) {
os << per.getName() << per.getAddress();
return os;
}
int main() {
Person per{ "wuruxiao", "shenzhen" };
//read(cin, per);
print(cout, per);
return 0;
}