我可以使用一些帮助!
这是我在任何类型的编码中的第一门课程,并且我已经碰到了我的第一堵主要墙,这是关于 C++ 类的。我的问题出现在 main.cpp 的第 19 行:
错误 C2679:二进制“=”:未找到采用“void”类型右侧操作数的运算符(或没有可接受的转换)
我的问题就这么简单,我需要找出是什么让我的 multipliedBy 函数不能成为适用的操作数,这样我才能继续我的编程!
附带说明,如果它不正确,请不要担心我的“结果”功能,因为我仍在修补它。
感谢您的时间。
分数.cpp
#include <iostream>
#include "fraction.h"
using namespace std;
fraction::fraction()
{
top = 0; //default constructor
bottom = 1;
}
fraction::fraction(int numerator, int denominator)
{
top = numerator;
bottom = denominator;
}
void fraction::answer()
{
top = numAnswer;
bottom = denAnswer;
}
void fraction::print() const
{
cout << top << "/" << bottom;
}
void fraction::multipliedBy(fraction f2)
{
numAnswer = top * f2.top;
denAnswer = bottom * f2.bottom;
}
void fraction::result(fraction answer)
{
cout << " is ";
}
分数.h
#include <iostream>
#ifndef FRACTION_H
#define FRACTION_H
using namespace std;
class fraction {
public:
fraction();
fraction(int numerator, int denominator);
void answer();
void print() const;
void multipliedBy(fraction f2);
void result(fraction answer);
private:
int numerator;
int denominator;
int top;
int bottom;
int numAnswer;
int denAnswer;
};
#endif
主文件
#include <iostream>
#include "fraction.h"
using namespace std;
int main()
{
fraction f1(9,8);
fraction f2(2,3);
fraction result;
cout << "The result starts off at ";
result.print();
cout << endl;
cout << "The product of ";
f1.print();
cout << " and ";
f2.print();
result = f1.multipliedBy(f2);
result.print();
cout << endl;
}