我想使用以下方法创建名为Rational的代码类:
a、 Rational()//返回有理数1的默认构造函数。
b、 有理(int n,int d)//命名者是n,分母是d。
c、 int getNumerator()常量
d、 int getDenominator()常量
e.有理负数()const//返回-n/d
F.有理互惠()const//返回d/n
g、 布尔运算符==(常数有理)
h、 Rational add(const Rational)
i、 有理减法(const有理)
j、 有理乘法(const-Rational)
k、 有理分界(const-Rational)
using namespace std;
class Rational
{
private:
int numerator;
int denominator;
public:
Rational()
{
numerator = denominator = 1;
}
Rational(int n, int d)
{
numerator = n;
denominator = d;
}
int getNumerator() const
{
return numerator;
}
int getDenominator() const
{
return denominator;
}
Rational negate() const
{
return -numerator/denominator;
}
Rational reciprocal() const
{
return denominator/numerator;
}
bool operator==(const Rational& other)
{
if(numerator == other.numerator && denominator == other.denominator)
{
return true;
}
else
return false;
}
Rational add(const Rational& a) const
{
Rational t; // creates Rational object
t.numerator = a.numerator * denominator;
t.numerator += a.denominator * numerator;
t.denominator = a.denominator * denominator;
return t;
}
Rational subtract(const Rational& b) const
{
Rational t; // creates Rational object
t.numerator = b.denominator * numerator;
t.numerator -= denominator * b.numerator;
t.denominator = b.denominator * denominator;
return t;
}
Rational multiply(const Rational& m) const
{
Rational t; // creates Rational object
t.numerator = m.numerator * numerator;
t.denominator = m.denominator * denominator;
return t;
}
Rational divide(const Rational& d) const
{
Rational t; // creates Rational object
t.numerator = d.denominator * numerator;
t.denominator = denominator * d.numerator;
return t;
}
void Rational::printRational ()
{
if ( denominator == 0 ) // validates denominator
cout << "\nDIVIDE BY ZERO ERROR!!!" << '\n';
else if ( numerator == 0 ) // validates numerator
cout << 0;
else
cout << numerator << '/' << denominator;
}
void Rational::printRationalAsDouble()
{
cout << static_cast< double >( numerator ) / denominator;
}
};
int main() {
Rational c( 2, 6 ), d( 7, 8 ), x;
c.printRational();
cout << " + ";
d.printRational();
x = c.add( d );
cout << " = ";
x.printRational();
cout << '\n';
x.printRational();
cout << " = ";
x.printRationalAsDouble();
cout << "\n\n";
c.printRational();
cout << " - ";
d.printRational();
x = c.subtract( d );
cout << " = ";
x.printRational();
cout << '\n';
x.printRational();
cout << " = ";
x.printRationalAsDouble();
cout << "\n\n";
c.printRational();
cout << " x ";
d.printRational();
x = c.multiply( d );
cout << " = ";
x.printRational();
cout << '\n';
x.printRational();
cout << " = ";
x.printRationalAsDouble();
cout << "\n\n";
c.printRational();
cout << " / ";
d.printRational();
x = c.divide( d );
cout << " = ";
x.printRational();
cout << '\n';
x.printRational();
cout << " = ";
x.printRationalAsDouble();
cout << endl;
return 0;
}
但我认为这些错误
主要的cpp:87:10:错误:成员“printRational”[-fpPermissive]void Rational::printRational()上的额外限定“Rational::”^~~~~~~~
主要的cpp:97:10:错误:额外限定“Rational::”在成员“PrintRationalAlasDouble”[-fpPermissive]void Rational::PrintRationalAlasDouble()上^~~~~~~~
main.cpp:在成员函数'Rational Rational::否定()const':main.cpp:35: 26:错误:无法转换'((-(int)((const Rational*)this)-
主要的cpp:在成员函数'Rational::Interactive()const'中:main。cpp:40:27:错误:无法转换“((int)((const Rational*)this)-
将ulualRational::printRational
更改为ulualprintRational
与printRationalAsDouble
相同。直接在类中定义函数时,您不会指定后跟::
的类名
另外,在否定
中有返回-分子/分母
但这是无效的,因为它无法将其转换为返回类型
互惠函数提供类似功能。如果您试图返回操作的结果,而不是一个新对象,那么您只需更改返回类型即可。Rational
。你可能想要返回有理数(-分子,分母)
,并为您的
问题内容: 我想对成绩簿方法使用2D数组,其中包含学生姓名,然后是考试成绩。在课堂上,我有以下内容。 但是我得到一个错误int []无法转换为int。 问题答案: 你有: 但是是一个。数组维数必须为,因此不能用作数组维数(鉴于字面量是多少,我可以理解您对错误的困惑:它想要一个,但您给了它一个)。 从您的描述来看,我猜您的意思是: 哪里是你需要的,包含考试的次数。不过,只是一个猜测。
问题内容: 这里是编程的新手,并且我一直收到错误消息,“不兼容的类型,不能将int转换为int []”,问题是如果R1和R2的长度相等,则将它们加在一起,如果没有打印出一条信息,说明“数组的长度必须相同”,如果这很重要,则不知道我在哪里出错,将不胜感激任何帮助 问题答案: 您需要分配给数组元素,但是这样做做错了。
问题内容: 我想将SQL COUNT的结果存储在变量中,然后将它们除,但是出现错误: 注意:类mysqli_result的对象无法在----中转换为int 我曾经在测试时显示结果…我该如何解决? 问题答案: 您需要先获取结果并将其存储在变量中,然后再进行数学运算。
之前,我已经实施了此功能,并且它起到了作用: 我甚至可以用下面的东西检查我是否得到了正确的尺寸,一切都很好。 但是,在使用以下初始化尝试整个程序时,我得到了一个编译错误: 以下是错误消息: rbm. cpp:在函数“ululemexFunction(int, mxArray**, int, const mxArray**)”中:rbm. cpp: 570:64: error:从“int”到“int
问题内容: 我正在使用eclipse java ee执行Java编程。 我的其中一个功能中包含以下代码行: 我收到以下错误: 类型不匹配:无法从int转换为Long 我不太明白为什么当我在变量中添加数字时会出现此错误。 该问题如何解决?为什么首先发生? 问题答案: 对象之间没有转换,因此您需要从中进行转换。加a 使整数成为(): 但是,从进行了转换,因此可以使用: 因此,您也可以这样编写: 从一个
我试图检查一个数字是否是一个完美的平方。然而,我正在处理非常大的数字,所以python认为它的无穷大出于某种原因。有办法绕过这个吗?这是代码,第一个变量只包含一堆非常非常非常非常大的数字