关于输入运算符重载的问题!
我写了一个类:fraction 其构造函数为: fraction::fraction(char *a);
然后我又写了一个输入符重载函数,并且为类fraction的友元函数:
friend fraction& operator >>(istream os, fraction &fract); //输入运算符
函数体为:
fraction& operator >>(istream &is, char *a){
fraction f(a); return f; }
如果我将返回类型改成: istream的话就不能直接在主函数里面进行加减啦,可是这样子又不能连输入比如这样: cin>>s1>>s2;
还有就是编译器一直给我报错:
warning C4172: returning address of local variable or temporary
为什么会有这个警告啊?
然后我又写了一个输入符重载函数,并且为类fraction的友元函数:
friend fraction& operator >>(istream os, fraction &fract); //输入运算符
函数体为:
fraction& operator >>(istream &is, char *a){
fraction f(a); return f; }
如果我将返回类型改成: istream的话就不能直接在主函数里面进行加减啦,可是这样子又不能连输入比如这样: cin>>s1>>s2;
还有就是编译器一直给我报错:
warning C4172: returning address of local variable or temporary
为什么会有这个警告啊?
...全文
相关推荐
C++考试试题各类试题都有哦!
表达式的求值规则和逻辑运算符的真值表。4. C++标识符的命名规则,避免使用非法字符。5. 逻辑非操作符`!`的应用,`!x`等同于`x == 0`。6.
VC++试题B.docx
总的来说,这些题目考察了对C++基本语法、类和对象、继承、运算符重载、函数调用以及程序控制结构的理解。解答这些问题需要扎实的C++基础知识和良好的编程习惯。
大整数阶乘程序设计.doc
实现一个类 BigInteger,具有四则运算符的重载运算符 (+, -, *, /)。2. 使用该类计算 n 的阶乘,并显示结果。3. 程序从键盘读入自然数 n,直到输入了合法的 n 为止。4.
【计算机考研辅导班】C++不用怕!.docx
此外,运算符重载使得可以定制操作符的行为,输入输出流(iostream)和文件操作则用于程序与外部数据的交互。
详解C++ 重载运算符和重载函数
C++ 重载运算符和重载函数是编程中的一种高级特性,它允许开发者在同一个作用域内为相同名称的操作提供多种实现方式,从而增加代码的灵活性和表达力。这两种重载主要涉及到函数和运算符的多态性应用。1.


