How to print object with overloading ostream operator in C++

1 Answer

0 votes
#include <iostream>
#include <fstream>

using std::cout;
using std::endl;
using std::cin;
using std::istream;
using std::ostream;

class CPhone {
	char name[30];
	char number[8];
public:
	CPhone() { };
	CPhone(char *_name, char *_number) {
		strcpy(name, _name);
		strcpy(number, _number);
	}
	friend ostream &operator << (ostream &stream, CPhone o);
	friend istream &operator >> (istream &stream, CPhone &o);
};

ostream &operator << (ostream &stream, CPhone o) {
	stream << o.name << " ";
	stream << o.number << endl;
	return stream; 
}

istream &operator >> (istream &stream, CPhone &o) {
	cout << "Enter name: ";
	stream >> o.name;
	cout << "Enter number: ";
	stream >> o.number;
	cout << endl;
	return stream;
}

int main()
{
	CPhone po;

	cin >> po;
	cout << po;

	return 0;
}


/*
run:

Enter name: Tom
Enter number: 987563

Tom 987563

*/

 



answered Jul 5, 2018 by avibootz

Related questions

1 answer 222 views
1 answer 144 views
144 views asked Dec 2, 2022 by avibootz
1 answer 216 views
2 answers 272 views
1 answer 181 views
...