假定类TEST中重载运算符<<,则运算符<<在类TEST中正确的声明形式为( )
A: ostream& operator<<(ostream& output, const TEST& obj);
B: friend ostream& operator<<(ostream& output, const TEST& obj);
C: ostream& operator<<(const TEST& obj);
D: friend ostream& operator<<(const TEST& obj);
A: ostream& operator<<(ostream& output, const TEST& obj);
B: friend ostream& operator<<(ostream& output, const TEST& obj);
C: ostream& operator<<(const TEST& obj);
D: friend ostream& operator<<(const TEST& obj);
举一反三
- 下面是实现类fraction(分数)的定义的测试程序,其中重载运算符[<以分数形式给出结果。例如将三分之二输出为2/3。 #include< ][br][/br] class fraction{[br][/br] int den, num; public: fraction( int y, int x ) { den=y; num=x; } ostream &operator<<(ostream &s,fraction fr); }; ostream &operator<<(ostream &s,fraction fr) {s<<fr.den<<'/'<<fr.num; return ; } void main() { fraction f(2,3); cout<<f<<endl; }
- 下面是实现类fraction(分数)的定义的测试程序,其中重载运算符<<以分数形式给出结果。例如将三分之二输出为2/3。 #include [1] class fraction{ int den,num; public: fraction( int y, int x ) { den=y; num=x; }; [2] ostream &operator<<(ostream &s,fraction fr); }; ostream &operator<<(ostream &s,fraction fr) { s<<fr.den<<'/'<<fr.num; return [3] ; } void main() { fraction f(2,3); cout<<f<<endl; }
- 重载“ A: ostream &operato B: istream &operato C: ostream &operato D: istream &operato
- 运算符重载测验: 为类ABC定义重载运算符“+”,下列哪种定义形式是正确的?() A: 定义为类ABC的函数成员: void operator +( ){......} B: 定义为类ABC的函数成员: ABC operator +( ABC obj ){......} C: 定义为类ABC的函数成员: ABC operator +( ABC obj1, ABC obj2 ){......} D: 定义为类ABC的友元函数: ABC operator +( ABC obj ){......}
- 类test的定义如下,$x是类test的对象,则4个选项中,正确的是( )。class test{const no='110';}$x=new test( ); A: echo $x.no; B: echo $x->no; C: echo test->no; D: echo test::no;