A ver si esto te ayuda, en todo caso, cuando hay que tratar con Objetos lo mejor es usar punteros.
Código C++:
Ver original#include <cstdio>
#include <string>
#include <cstdlib>
class A {
private:
std::string str;
public:
A(void)
{
}
A(std::string str)
{
this->str.assign(str);
}
~A()
{
this->str.clear();
}
void mostrarString(void)
{
std
::printf("%s\n", this
->str.
c_str()); }
};
class B {
private:
A objA;
public:
B(void)
{
}
~B()
{
}
void anadirA(A obj)
{
objA = obj;
}
void mostrarStringA()
{
objA.mostrarString();
}
};
int main(int argc, char *argv[])
{
A objA("Hola Mundo Desde A");
B objB;
objB.anadirA(objA);
objB.mostrarStringA();
return(EXIT_SUCCESS);
}