【发布时间】:2012-02-08 03:10:51
【问题描述】:
无法让这段代码编译并正常工作
实现文件:
#include <cmath>
#include "quadEquation.h"
using namespace std;
QuadEquation::QuadEquation()
{
int a,b,c;
}
QuadEquation::QuadEquation(int first, int second, int third)
{
a = first;
b = second;
c = third;
}
int QuadEquation::getA()
{
return a;
}
int QuadEquation::getB()
{
return b;
}
int QuadEquation::getC()
{
return c;
}
int QuadEquation::getDiscriminant()
{
return b * b - 4 * a * c;
}
int QuadEquation::getRoot1()
{
discrim = getDiscrimant();
return -b + sqrt(discrim) / (2 * a);
}
int QuadEquation::getRoot2()
{
discrim = getDiscriminant();
return -b - sqrt(discrim) / (2 * a);
}
头文件:
#ifndef QUADEQUATION_H
#define QUADEQUATION_H
class QuadEquation
{
private:
int a, b, c;
public:
QuadEquation(int, int, int);
int getA();
int getB();
int getC();
int getDiscriminant();
int getRoot1();
int getRoot2();
};
#endif
#include <iostream>
#include "quadEquation.h"
using namespace std;
int main()
{
QuadEquation quad1(1,0,9);
cout << "The first root of the first quadratic equation is: " << quad1.getRoot1() << endl;
return 0;
}
我遇到的一些错误
quadEquation.cpp:5:错误:“QuadEquation::QuadEquation()”的原型与“QuadEquation”类中的任何内容都不匹配 quadEquation.h:5:错误:候选者是:`QuadEquation::QuadEquation(const QuadEquation&)` quadEquation.h:10:错误:`QuadEquation::QuadEquation(int, int, int)` quadEquation.cpp:在成员函数`int QuadEquation::getRoot1()`中: quadEquation.cpp:35:错误:`discrim` 未在此范围内声明 quadEquation.cpp:35:错误:`getDiscrimant` 未在此范围内声明 quadEquation.cpp:在成员函数`int QuadEquation::getRoot2()`中: quadEquation.cpp:40:错误:`discrim` 未在此范围内声明【问题讨论】:
-
仅供参考,这里是您班级的惯用(即“专家风格”)版本:ideone.com/qEigx