在运行编程时遇到错误

时间:2016-11-29 18:31:09

标签: c++11

我正在尝试运行此程序,将三角形的顶点作为输入。 但我面临着错误。有人可以帮我这个吗?

我要做的是创建一个点类,继承三角形类并接受三角形的顶点作为输入。

#include <iostream>
#include <vector>
using namespace std;

#Defines a class Point.
class Point
{
    private:
        float x;
        float y;
    public:
        int read_Point(Point &P)
        {   
            std::cin >> P.x >> P.y;
        }
};

#Defines a class Triangle
class Triangle : public Point
{
    private:
        std::vector<Point> P;
    public:
        int make_triangle()
        {
            P=std::vector<Point>(3);
            read_Traingle();
            return 0;
        }
        void read_Traingle()
        {
            read_Point(P[1]);
            read_Point(P[2]);
            read_Point(P[3]);
        }
};

int main()
{
    Triangle Tri;
    Tri.make_triangle();
    return 0;
}

1 个答案:

答案 0 :(得分:2)

您使用3 P=std::vector<Point>(3);初始化了向量,然后您尝试读取元素P [3] read_Point(P[3]);

增加向量的大小或从索引零开始读取向量。