[英]Needs constructor/destructor/type conversion error
我得到的錯誤是在fracMult
之后(
之前, I'm missing a constructor, destructor, or type conversion
。我不知道這是什么意思。
#include <cstdlib>
#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
class fraction
{
private:
int numerator;
int denom;
bool positive;
public:
fraction();
fraction(int numerator, int denom, bool positive);
void inputFrac();
void printFrac();
fraction fracMult(fraction b);
fraction fracDiv(fraction b);
fraction fracAdd(fraction b);
fraction fracSub(fraction b);
};
fraction f1, f2, fresult;
int main(int argc, char** argv) {
f1.inputFrac();
f2.inputFrac();
cout << "The result of a * b is: ";
fresult = f1.fracMult(f2);
fresult.printFrac();
return 0;
}
void fraction::printFrac()
{
if(!positive){
cout << "-";
}
cout << numerator << "/" << denom << endl;
}
void fraction::inputFrac()
{
string tempchar;
cout << "What is the numerator? ";
cin >> numerator;
cout << "What is the denominator? ";
cin >> denom;
cout << "Is the fraction positive? (Y or N): ";
cin >> tempchar;
while(tempchar != "Y" && tempchar != "N"){
cout << "Please enter Y or N: ";
cin >> tempchar;
}
if(tempchar == "Y"){
positive = true;
}
else{
positive = false;
}
}
fraction::fracMult(f2){
fresult.numerator = f1.numerator * f2.numerator;
fresult.denom = f1.denom * f2.denom;
if(f1.positive != f2.positive){
fresult.positive = false;
}
return fresult;
}
fraction::fracDiv(){
}
fraction::fracAdd(){
}
fraction::fracSub(){
}
我知道fracDiv,fracAdd和fracSub都是空的,我只是在首先使fracMult工作。
我是C ++的新手,所以有時仍然會出現一些小的明顯錯誤。
您需要在這些函數的實現中添加返回類型。 您還缺少實現中的參數。
fraction fraction::fracDiv(fraction b){
// ^^^^ ^^^^^
}
只有構造函數和析構函數實現可以省略返回類型。
// OK
fraction::fraction(){ ... }
// OK
fraction::~fraction(){ ... }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.