抛出异常

时间:2020-05-16 13:04:55

标签: c++ class project

我正在从事一个项目,并且是一个初学者。该项目包括一个人,一个成年人,一个孩子和一个转向架班。在转向架班级中,我将类型为person的人的初始指针初始化为chmod 777 -R ./* ,其中adult = new Adult [adultcount]是用户要添加的成人数。
当我在输入中仅添加一个成人时,它可以正常工作,它将输入并分配给它,同时在for循环中分配值。
但是,当我添加多个时,它停止工作并在第adultcount行说异常抛出。

Adults[i].setdata()

2 个答案:

答案 0 :(得分:0)

我相信您需要将AdultsPerson *更改为Adult *

当程序尝试通过

访问Adults[1]
for (int i = 0; i < adultcount; i++)
{
    Adults[i].setdata();
}

它在数组中sizeof(Person)处向前跳,而数组中的对象为sizeof(Adult),这会导致您所看到的异常。

答案 1 :(得分:0)

所以我找到了答案的合适方法是在成员中将名为adult和kid的指针声明为 人**成人; 人**孩子 接着 大人=新人* [大人];

    for (int i = 0; i < adultcount; i++)
    {


        adults[i] = new Adult;
        adults[i]->setdata();

    }
相关问题