为了对点M(x,y)
进行应用操作,我定义了一个类POINT2D.h
:
#ifndef POINT2D_H_INCLUDED
#define POINT2D_H_INCLUDED
class POINT2D {
POINT2D (); //first constructor
POINT2D(double x,double y); // second constructor
private:
Point M, PointImage;
public:
void DeclarerM(){
std::cout << "Entrer les composantes du point M : " << " ";
std::cin >> M.x >> M.y;
}
Point Trnaslation(Point M); //Functions applied on Point
Point Rotation(Point M);
Point SymetrieAxiale (Point M);
Point Homothetie(Point M);
};
#endif // POINT2D_H_INCLUDED
主要的和结构Point
:
struct Point{ //structure Point
double x; //the coordinates of the Point
double y;
};
当我运行它时,我在课堂上遇到错误,说“Point没有命名类型”。有什么问题?
答案 0 :(得分:0)
在使用类型之前,在C ++中必须声明或定义它。因为POINT2D
不知道你在main.cpp中声明的Point
结构,所以你不能使用它。您可以forward declare Point
或将Point
移动到自己的头文件中,然后将其包含在POINT2D.h
和main
中。
您的POINT2D
也存在问题,因为您的构造函数都是私有的。您应该在其前面添加public:
或将其移到您班级中已有的public
部分。