2

pair<int, int>座標ペアを表すためにランダムに生成された を返す関数を持つクラスを作成しました。私が持っている関数の最初に、乱数のペアを取得するためsrand(time(NULL))に使用します。rand() % 50

それはうまく機能します...私がそのオブジェクトを1つしか持っていない限り。そのクラスの 2 つの異なるオブジェクトがあり、各オブジェクトに対して関数を呼び出すと (これは、このクラスの 2 つの異なるオブジェクトに対して 2 つの異なるランダム座標を生成しようとすることを意味します)、各オブジェクトに対してまったく同じ座標ペアを返します。

振り返ってみると、なぜこれが起こるのか理解できます。現在の時刻に基づいて乱数を取得しているためですよね? しかし、そのクラスの関数を呼び出すたびにランダムなペアを返すには、どのメソッドを使用すればよいでしょうか?

4

1 に答える 1