Code Bye

这小程序请帮看下哪错了

#include <iostream>
#include <string>
using namespace std;
int main()
{
	class Person {
		string name;
		string address;
		const string& getName() const { return name; }
		const string& getAddress() const { return address; }
	};
	istream& read(istream& is, Person& person) {
		is >> person.name >> person.address;
		if (!is) person = Person();
		return is;
	}
	ostream& print(ostream &os, const Person& person) {
		os << person.name << " " << person.address;
		return os;
	}

	return 0;
}

编译出错,是什么原因啊,求指导释

解决方案

40

1.C/C++不允许在函数体内再定义函数
2.name和address是private的,不能通过.直接访问
#include <iostream>
#include <string>
using namespace std;
class Person {
public:
	string name;
	string address;
	const string& getName() const { return name; }
	const string& getAddress() const { return address; }
};
istream& read(istream& is, Person& person) {
	is >> person.name >> person.address;
	if (!is) person = Person();
	return is;
}
ostream& print(ostream &os, const Person& person) {
	os << person.name << " " << person.address;
	return os;
}
int main()
{
	return 0;
}

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明这小程序请帮看下哪错了