Suppose I have code like that one, and I want to get access to the myClassB members. How can I do that? I need to use the functionality of functionA. I can't change it because it is from the 3rd party library. And I need to use functionA to create it, and get values created by it. In this case "Test_1" string
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(); ??
}
 
     
    