2012-02-18 7 views
1

講義ノートでポインタについて困惑している、機能がある私は私のクラスのために再び

Obj3D * findObject (int objID) { 
    Obj3D *pObj = ... 
    if (pObj == 0) { 
     throw BadObjectID (objID); 
    return pObj; 

なぜそれが機能はオブジェクトへのポインタを返しますが、関数の戻り値の型があるということですオブジェクト?

+1

です。 'Obj3D *'はオブジェクトへのポインタであり、先頭行にあります。 – fazo

答えて

5

戻り値の型はObj3D *で、ポインタです。

1

Obj3D *pObj - これはObj3Dのインスタンスへのポインタです。

1

関数の戻り値の型はObj3D *です。つまり、Obj3Dへのポインタです。これはまさに関数が返すものです。

1

関数の戻り値の型はオブジェクトではありません。

Obj3D *findObject 

は、findObjectがObj3D変数へのポインタを返すことを意味します。

Obj3D* findObject 

と書くこともできます。

1

いいえ関数宣言では、Obj3D型のポインタが返されます。関数内でポインタを返す宣言はOBJ * functionname(input) {

関連する問題