重载提取运算符的 C++ 程序
假设我们有一个Person类,它有两个属性first_name和last_name。它还有两个方法,分别调用get_first_name()和get_last_name()来检索或设置名字和姓氏。我们必须重载提取运算符(<<)来打印名字和姓氏,然后使用cout语句打印它们。
因此,如果输入就像一个具有名字和姓氏(“Sumit”、“Ray”)的人对象,那么输出将是名字-Sumit,姓氏-Ray。
示例
让我们看看以下实现以获得更好的理解-
#includeusing namespace std; class Person { private: string f_name; string l_name; public: Person(string first_name, string last_name) : f_name(first_name), l_name(last_name) {} string& get_first_name() { return f_name; } string& get_last_name() { return l_name; } }; ostream& operator<<(ostream& os, Person& p) { os << "名: " << p.get_first_name() << ", Last name: " << p.get_last_name(); return os; } int main(){ Person p("Sumit", "Ray"); cout << p << ", he is our member."; }
输入
p("Sumit", "Ray")输出结果
名: Sumit, Last name: Ray, he is our member.