它們是否應該在.cpp
或.h
文件中聲明?應該在哪裏聲明類對象?
實施例1:
A.h
#include "B.h"
#include "C.h"
class A
{
void someFunction();
B b;
C c;
}
實施例2:
A.cpp
#include "B.h"
#include "C.h"
A::someFunction()
{
B b;
C c;
// Do something with b and c.
}
實施例3:
A.cpp
#include "B.h"
#include "C.h"
B b;
C c;
A::someFunction()
{
// Do something with b and c.
}
如果它們只能在功能正在使用他們聲明(實施例2)或者它們是否可以在頭文件的頂部聲明,如例3所示?
示例1不是其他兩種的替代方案(實際上所有三種都是完全不同的情況),我也沒有在那裏看到循環依賴。 – user463035818
也許[這些**中的一個](https://stackoverflow.com/search?q=%5Bcpp%5D+circular+dependency)涵蓋了你缺少的東西。你看起來了嗎? – WhozCraig
@ tobi303你能否解釋何時或是否應該使用這些情況? – C3PO