首页 > 解决方案 > (已回答)- 在动态分配数组 C++ 时在默认构造函数中创建不同的随机数

问题描述

我有一个速度成员(1-100)的“马”类。我希望默认构造函数为速度生成一个随机数,但是当我为 Horse 类型的数组动态分配内存时,每匹马的速度都相同。

这是我在 main 中分配内存的方式:

horsePtr = new Horse[numHorses];

这是构造函数

Horse::Horse() {
     srand(time(0));
     maxDistancePerSecond = (rand() % 100) + 1;
     distanceTraveled = 0;
     racesWon = 0; }

我知道在构造函数中包含 srand 是一个错误,但是类文件不允许我将它放在其他任何地方。我怎样才能解决这个问题?

ps 我必须使用数组和 srand 函数(无向量):)

标签: c++randomdynamicdynamic-memory-allocationsrand

解决方案


推荐阅读