Код идет первым:
//. H file
class A
{
public:
A();
B makeB(int); //question 1
//protected:
struct B {
int _id;
B(int id);
}
};
//. Cpp file
A::A()
{ cout<<"A ctor\n"; }
B A::makeB(int id) //question 2
{ return B(id); }
2 вопроса:
1.Можно ли поставить функцию makeB () после определения структуры B?
2.В файле .cpp перед каждым B должен стоять префикс A ::?
PS:
1.Если функция makeB не имеет дело с экземплярами B, но указателями или ссылками B, могу ли я поместить прямое decl структуры B перед makeB? (Я просто не хочу помещать определение структуры B перед mem-funcs).