【发布时间】:2015-06-27 23:22:14
【问题描述】:
我在课堂上有一个函数PhoneNumber:
class PhoneNumber
{
protected:
int area;
long number;
public:
istream& operator>>(istream& is, PhoneNumber &p){
cout << "Enter area code : ";
is >> p.area;
cout << "Enter number telephone number : ";
is >> p.number;
return is;
}
};
类中的另一个函数是这样的:
class IntPhoneNumber::public PhoneNumber
{
int reg;
public
friend istream& operator>>(istream& is, IntPhoneNumber &p);
};
我希望 IntPhoneNumber 类继承并在 PhoneNumber 类中使用 operator>>。
【问题讨论】:
-
请标记语言并修正代码的缩进。
-
在派生类中创建一个虚拟的
get(std::istream&)方法。为基类创建一个非成员运算符重载插入器并调用p.get(is)。在派生类中,您可以覆盖该函数,以便您拥有不同的插入语义。
标签: c++ class inheritance operator-keyword istream