0

という単純なクラスがありtireます。ここで、車両オブジェクトの作成時に車両のタイヤ数を動的に割り当てたいと考えています。tireこのために、サイズがタイヤの数に等しい クラス オブジェクトの配列を作成したいと考えています。tireコードを確認するために、 -class 配列内のオブジェクトの数を出力したいと思います。

問題は、tireクラス配列に含まれる要素の数を確認できる関数はありますか? 機能は使えsizeof()ますか?

コードは次のとおりです。

#include <iostream>

// create a class for the tires:
class TireClass {
public:
    float * profileDepths;
};

// create class for the vehicle
class vehicle {
public:
    int numberOfTires;
    TireClass * tires;
    int allocateTires();
};

// method to allocate array of tire-objects
int vehicle::allocateTires() {
    tires = new TireClass[numberOfTires];

    return 0;
};

// main function
int main() {
    vehicle audi;
    audi.numberOfTires = 4;
    audi.allocateTires();

    // check if the correct number of tires has been allocated
    printf("The car has %d tires.", sizeof(audi.tires));

    // free space
    delete [] audi.tires;

    return 0;
};
4

2 に答える 2

3

いいえ、ありません。の使用を検討してくださいstd::vector。または、タイヤの数を他の変数に保存するだけです (多分それnumberOfTiresで十分でしょうか?)。

于 2013-10-24T08:04:43.120 に答える