c++ 使用vector的问题

设计基本图形类
类点CPt、 线(CLn);点是线的成员数据,用 vector 容器,在线上实现如下操作:
(1)在 p 位置前加入新点。
(2)删除 p 位置的点。
(3)修改 p 点的坐标。
(3)返回点数。
(p是传入的序号参数)

随便写了写,大概这个意思吧,你自己调一下看看

#include<iostream>
#include<vector>
using namespace std;
class CPt
{
public:
    int x;
    int y;
};

class CLn
{
    vector<CPt> pvec;

public:
    bool InsertP(int p, CPt inp)
    {
        if (p>= pvec.size() && pvec.size() > 0) return false;
        if (pvec.size() == 0)
        {
            pvec.push_back(inp);
        }
        else
        {
            vector<CPt>::iterator ite;
            int i=0;
            for(ite=pvec.begin();ite!=pvec.end();++ite)
            {
                if(p == i)
                {
                    pvec.insert(ite,inp);
                    break;
                }
                i++;
            }
        }

    }

    bool DeleteP(int p)
    {
        if (p>= pvec.size()) return false;
        vector<CPt>::iterator ite;
        int i=0;
        for(ite=pvec.begin();ite!=pvec.end();)
        {
            if(i==p)
                ite=pvec.erase(ite);
            else
                ++ite;

            i++;
        }
    }

    bool ModifyP(int p, CPt inp)
    {
        if (p>= pvec.size()) return false;
        pvec[p] = inp;
        return true;
    }

    int GetCount()
    {
        return pvec.size();
    }
};

int main()
{
    CLn Line;
    CPt p1,p2,p3;
    cout<<"插入三个点"<<endl;
    p1.x = 1;
    p1.y = 2;
    Line.InsertP(0, p1);
    p2.x = 2;
    p2.y = 4;
    Line.InsertP(0, p2);
    p3.x = 3;
    p3.y = 6;
    Line.InsertP(0, p3);
    cout<<"当前点数量"<< Line.GetCount() <<endl;
    Line.DeleteP(1);
    cout<<"删除一个点后数量"<< Line.GetCount() <<endl;
    p1.x = 10;
    p1.y = 20;
    Line.ModifyP(0, p1);
    return 0;
}