1

クラスを正しく宣言する方法は?これを試してみると、コンパイルされません:

#include<iostream>
#include<conio.h>

class B ;

class A
{
    public:
    B returnB()
    {
        return B() ;
    }
} ;

class B
{
    public:
    A returnA()
    {
        return A() ;
    }
} ;

int main(void)
{

    getch() ;
    return 0 ;
}
4

1 に答える 1

2

クラスの外で関数を定義しなければならない場合があります。

class B;

class A
{
public:
    B returnB();
};

class B
{
public:
    A returnA();
};

B A::returnB()
{
    return B();
}

A B::returnA()
{
    return A();
}

通常、定義 (実装) は別の *.cpp ファイル内に配置されます。ヘッダーにある場合は、inline.

于 2013-01-14T21:06:50.517 に答える