Angenommen, ich habe einen Code wie diesen, und ich möchte Zugriff auf die myClassB-Mitglieder erhalten. Wie kann ich das machen? Ich muss die Funktionalität von functionA verwenden. Ich kann es nicht ändern, weil es aus der 3rd-Party-Bibliothek stammt. Und ich muss functionA verwenden, um es zu erstellen und Werte von ihm zu erstellen. In diesem Fall "Test_1" stringWie bekomme ich Zugriff auf den abgeleiteten std :: shared_ptr?
class myClassA {
public:
myClassA(){}
~myClassA(){}
};
class myClassB : public myClassA
{
public:
myClassB(){}
void setString1(std::string newString)
std::string getS1()
private:
std::string privateMember;
};
std::shared_ptr<myClassA> functionA()
{
std::shared_ptr<myClassB> temporary(new myClassB());
temporary->setString1("TEST_1");
return std::move(temporary);
}
int main()
{
std::shared_ptr<myClassA> myPtr; // = functionA(); ??
}
Bewegung ist nicht erforderlich in Return-Anweisung. Clang wird sogar darüber beschweren. –
Was ist mit dem Mitglied der Klasse A, können Sie es ändern? – Amadeus
nein Ich kann nicht ich habe nur Zugriff auf die FunktionA – pZCZ