simple structure – adding get methods – class definition recap 5/9

Bjarne Stroustrup “Programming Principles and Practice Using C++”
Chapter 15 Class Definition Drill 5

//  Philipp Siedler
//  Bjarne Stroustrup's PP
//  Chapter 15 Class Definition Drill 5

#include "std_lib_facilities.h"

struct Person
{
	Person(string name, int age)
		:n(name), a(age) {}
	Person() {}

	string name() { return n; }
	int age() { return a; }

private:
	string n;
	int a;
};

istream& operator>>(istream& is, Person& p) {
	is >> p.name >> p.age;
	return is;
}

ostream& operator<<(ostream& os, Person& p) {
	os << "Name: " << p.name << " Age: " << p.age;
	return os;
}

int main()
try
{
	Person p1;
	cin >> p1;
	cout << p1 << endl;

	keep_window_open();
}
catch (exception& e) {
	cout << e.what() << endl;
	return 1;
}
catch (...) {
	cout << "Exiting" << endl;
	return 2;
}
Input:
Input:
Goofy 63
Output:
Name: Goofy Age: 63
Please enter a character to exit

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.