类到struct的访问

时间:2015-11-14 22:50:16

标签: c++

为了对点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没有命名类型”。有什么问题?

1 个答案:

答案 0 :(得分:0)

在使用类型之前,在C ++中必须声明或定义它。因为POINT2D不知道你在main.cpp中声明的Point结构,所以你不能使用它。您可以forward declare Point或将Point移动到自己的头文件中,然后将其包含在POINT2D.hmain中。

您的POINT2D也存在问题,因为您的构造函数都是私有的。您应该在其前面添加public:或将其移到您班级中已有的public部分。