Função de membro embutido C ++ no arquivo .cpp
Eu sei que funções de membro embutido, por definição, devem ir para o cabeçalho. Mas e se não for possível colocar a implementação da função no cabeçalho? Vamos pegar esta situação:
Arquivo A.h
#pragma once
#include "B.h"
class A{
B b;
};
Arquivo B.h
#pragma once
class A; //forward declaration
class B{
inline A getA();
};
Devido à inclusão circular, tenho que colocar a implementação degetA
para dentro
B.cpp
#include "B.h"
#include "A.h"
inline A B::getA(){
return A();
}
O compilador será incorporadogetA
? Em caso afirmativo, qual palavra-chave embutida é a mais significativa (a que está no cabeçalho ou a que está no arquivo .cpp)? Existe outra maneira de colocar a definição de uma função de membro embutido em seu arquivo .cpp?