Overloading Ostream Operator in C++ - Hacker Rank Solution
Problem
The task is to overload the << operator for Person class in such a way that for p being an instance of class Person the result of:
std::cout << p << " " << <some_string_value> << std::endl;
produces the following output:
first_name=<first_name>,last_name=<last_name> <some_string_value>
where:
- <first_name> is the value of p's first_name_
- <last_name> is the value of p's last_name_
- <some_string_value> is an arbitrary std::string value
Input Format :
Constraints :
Each word in the input contains only English letters and is no longer than 15 charactersOutput Format :
The output should be produced by the provided locked code template. This code will use the implementation of Person public methods and the overloaded << operator to produce the output. Specifically, the output wiil be produced by the following code:cout << p << " " << event << endl;
Sample Input :
john doe registered
Sample Output :
first_name=john,last_name=doe registered
Solution :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
//Overloading Ostream Operator in C++ - Hacker Rank Solution #include <iostream> using namespace std; class Person { public: Person(const string& first_name, const string& last_name) : first_name_(first_name), last_name_(last_name) {} const string& get_first_name() const { return first_name_; } const string& get_last_name() const { return last_name_; } private: string first_name_; string last_name_; }; // Enter your code here. /* Overloading Ostream Operator in C++ - Hacker Rank Solution START */ ostream& operator<<(ostream& Output, Person& p) { Output << "first_name=" << p.get_first_name() << "," << "last_name=" << p.get_last_name(); return Output; } /* Overloading Ostream Operator in C++ - Hacker Rank Solution END */ int main() { string first_name, last_name, event; cin >> first_name >> last_name >> event; auto p = Person(first_name, last_name); cout << p << " " << event << endl; return 0; } |
the above hole problem statement is given by hackerrank.com but the solution is generated by the codeworld19 authority if any of the query regarding this post or website fill the following contact form thank you.