다른 오류가있는 일부 페이지를 검색했지만 코드에서 찾을 수있는 문제가 없습니다. 미안하다면 피곤하고 C++에 약간 새로운 것일 수도 있습니다.클래스 C++의 재정의 - Xcode
3 개의 파생 클래스가있는 부모 클래스 shape.h가 있습니다. rectangle.h, triangle.h 및 circle.h. 부모 클래스는 세 번째 줄에 "Shape '의 재정의"Redefinition "을 가져 오는 클래스입니다. 내 인생에서 내가 틀린 것을 알아낼 수는 없지만 파생 된 클래스에서 모양 생성자를 호출하는 방법은 가능합니다. 제발, 저에게 알려주세요.
Shape.h :
#INCLUDE < cmath>
class Shape
{
public:
//constructors
Shape();
Shape(float a);
Shape(float a, float b);
//Returns
float area();
float perimeter();
protected:
float base;
float height;
float radius;
};
Shape.cpp :
사용법 #include "Shape.h"
//constructors
Shape::Shape()
{
base = 0;
height = 0;
radius = 0;
}
Shape::Shape(float a)
{
radius = a;
}
Shape::Shape(float a, float b)
{
base = a;
height = b;
}
//returns
float Shape::area()
{
return 0;
}
float Shape::perimeter()
{
return 0;
}
모든 파생 된 클래스
다른 제외한 동일 계산은 여기 Circle.h :#include "Shape.h"
class Circle: public Shape
{
public:
//constructors
Circle();
Circle(float a);
//Returns
float area();
float perimeter();
private:
};
Circle.cpp는 :
사용법 #include "Circle.h"
//constructors
Circle::Circle():Shape()
{
}
Circle::Circle(float a):Shape(a)
{
}
//returns
float Circle::area()
{
return (3.14 * pow(radius,2));
}
float Circle::perimeter()
{
return (2 * 3.14 * radius);
}
감사합니다. 그러나 호기심에서 벗어나 정확히 무엇이 오류를 발생시키고 있는지 아십니까? – user6383357
@ user6383357 가드가없는'Circle.cpp'에'Shape.h'가 간접적으로 두 번 포함되어있어 언급 한 컴파일 오류가 발생합니다. – Nikita
고마워, 그 말이 맞는 것 같아. – user6383357