2016-09-11 5 views
-4

自分のコードをコンパイルするときにいくつかのエラーが発生します。メンバー関数のエラーC++

circleTypeImp.cpp: In member function âdouble circleType::getRadius() constâ: 
circleTypeImp.cpp:10: error: argument of type âdouble (circleType::)()constâ does not match âdoubleâ 
circleTypeImp.cpp: In member function âdouble circleType::setAreaCircle() constâ: 
circleTypeImp.cpp:15: error: invalid use of member (did you forget the â&â ?) 
circleTypeImp.cpp: In member function âdouble circleType::setCircumference() constâ: 
circleTypeImp.cpp:20: error: invalid use of member (did you forget the â&â ?) 
pointTypeImp.cpp: In member function âvoid pointType::setXCoordinate(double)â: 
pointTypeImp.cpp:9: error: âxâ was not declared in this scope 
pointTypeImp.cpp: In member function âvoid pointType::setYCoordinate(double)â: 
pointTypeImp.cpp:14: error: âyâ was not declared in this scope 
pointTypeImp.cpp: At global scope: 
pointTypeImp.cpp:23: error: prototype for âdouble pointType::getXCoordinate(double)â does not match any in class âpointTypeâ 
pointTypee.h:15: error: candidate is: double pointType::getXCoordinate() const 
pointTypeImp.cpp:28: error: prototype for âdouble pointType::getYCoordinate(double)â does not match any in class âpointTypeâ 
pointTypee.h:16: error: candidate is: double pointType::getYCoordinate() const 

私はコードを見落としていて、何が間違っているかを見ているようです。もし誰かが私にそれを指摘することができたら、何が必要なのでしょうか、私はそれを感謝します。私は誰かが私のためにそれをするのを探しているわけではありません、私はちょうどそれを考え出して助けを必要としています。

//main.cpp 

#include "pointTypee.h" 
#include "circleTypee.h" 
#include <iostream> 

using namespace std; 
int main() 
{ 
    pointType p; 
    circleType c; 

    double rad; 
    double area; 
    double circum; 


    double x; 
    double y; 

    cout << "Enter the x coordinate " << endl; 
    cin >> x; 
    cout << endl; 
    cout << "Enter the y coordinate " << endl; 
    cin >> y; 
    cout << endl; 
    cout << "The X & Y coordinates are: (" << x << "," << y << ")" << endl; 
    cout << "The area of the circle is: ";   //Add 
    cout << "The circumference of the circle is: "; //Add 

} 


//PointType.cpp 

#include "pointTypee.h" 
#include <string> 
#include <iostream> 

void pointType::setXCoordinate (double xcoord) 
{ 
    xcoord = x; 
} 

void pointType::setYCoordinate (double ycoord) 
{ 
    ycoord= y; 
} 

void pointType::print() const 
{ 
    cout << "The center point is at (" << xcoord << "," << ycoord << ")" << endl; 
    cout << endl; 
} 

double pointType::getXCoordinate(double xcoord) 
{ 
    return xcoord; 
} 

double pointType::getYCoordinate(double ycoord) 
{ 
    return ycoord; 
} 
pointType::pointType(double xcoord, double ycoord) 
{ 
    xcoord=0; 
    ycoord=0; 

} 



//pointType.h 

#ifndef POINTTYPEE_H 
#define POINTTYPEE_H 
#include <string> 

using namespace std; 

class pointType 
{ 
public: 
    void print() const; 
    void setXCoordinate(double xcoord); 
    void setYCoordinate(double ycoord); 
    double getXCoordinate() const; 
    double getYCoordinate() const; 
    pointType(void); 
    pointType(double xcoord, double ycoord); 
    ~pointType(void); 

private: 
    double xcoord; 
    double ycoord; 

}; 
#endif 


//circleType.h 

#ifndef CIRCLETYPEE_H 
#define CIRCLETYPEE_H 

#include "pointTypee.h" 

class circleType : public pointType 
{ 
public: 
    //circleType(double xcoord, double ycoord, double radius); 
    void print() const; 
    double setAreaCircle() const; 
    double setCircumference() const; 
    double getRadius() const; 
    circleType(double xcoord, double ycoord, double radius); 
    ~circleType(void); 
    circleType(); 
    //virtual ~circleType(); 

private: 
    double radius() const; 
    static double pie; 

}; 
#endif 



//circleTypeImp.cpp 

#include "circleTypee.h" 
#include "pointTypee.h" 
#include <string> 
#include <iostream> 

double circleType::getRadius()const 
{ 
    return radius; 
} 

double circleType::setAreaCircle() const 
{ 
    return 3.14 * radius * radius; 
} 

double circleType::setCircumference() const 
{ 
    return 3.14 * 2 * radius; 
} 

circleType::circleType() 
{ 
    //circleType::circleType(); 
} 

circleType::~circleType() 
{ 

} 

double pie = 3.14; 
+0

なぜ値渡しのパラメータに割り当てるのですか?そして、地獄は 'getXCoordinate'などしていますか?それを忘れて、すべてが間違っています... – LogicStuff

答えて

0

circleTypeImp.cpp: In member function âdouble circleType::getRadius() constâ:
circleTypeImp.cpp:10: error: argument of type âdouble (circleType::)()constâ does not match âdoubleâ

private: 
    double radius() const; 
//... 
return radius; 

あなたは、二重を返すメンバ関数radius()を返しますが、それは、二重ではありません。私は推測すると、代わりにメンバーdouble radius;が欲しかった。ここ

circleTypeImp.cpp: In member function âdouble circleType::setAreaCircle() constâ:
circleTypeImp.cpp:15: error: invalid use of member (did you forget the â&â ?)
circleTypeImp.cpp: In member function âdouble circleType::setCircumference() constâ:
circleTypeImp.cpp:20: error: invalid use of member (did you forget the â&â ?)

同じ、あなたは二重のないメンバー機能radius()を、使用しています。

pointTypeImp.cpp: In member function âvoid pointType::setXCoordinate(double)â:
pointTypeImp.cpp:9: error: âxâ was not declared in this scope
pointTypeImp.cpp: In member function âvoid pointType::setYCoordinate(double)â:
pointTypeImp.cpp:14: error: âyâ was not declared in this scope

void pointType::setXCoordinate (double xcoord) 
{ 
    xcoord = x; 
} 

void pointType::setYCoordinate (double ycoord) 
{ 
    ycoord= y; 
} 

エラーが、それはすでに、xyどちらが宣言されていると言います。これは、宣言と定義

double pointType::getXCoordinate() const 
double pointType::getXCoordinate(double) 

pointTypeImp.cpp:28: error: prototype for âdouble pointType::getYCoordinate(double)â does not match any in class âpointTypeâ
pointTypee.h:16: error: candidate is: double pointType::getYCoordinate() const

ここで同じ

void pointType::setXCoordinate (double x) 
//... 
void pointType::setYCoordinate (double y) 
//... 

pointTypeImp.cpp: At global scope:
pointTypeImp.cpp:23: error: prototype for âdouble pointType::getXCoordinate(double)â does not match any in class âpointTypeâ
pointTypee.h:15: error: candidate is: double pointType::getXCoordinate() const

不一致でなければなりません。

+0

助けをありがとう –

関連する問題