fork download
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4.  
  5. class Repo {};
  6. class ITok {};
  7.  
  8. class IInherit
  9. {
  10. public:
  11. virtual ~IInherit() {}
  12. virtual void doAction(ITok*& pTc)=0;
  13. };
  14.  
  15. class cDerived: public IInherit
  16. {
  17. Repo* p_Repos;
  18. public:
  19. cDerived(Repo* pRepos)
  20. {
  21. p_Repos = pRepos;
  22. }
  23. Repo* GetRepo()
  24. {
  25. return p_Repos;
  26. }
  27. void doAction(ITok*& pTc)
  28. {
  29. ///some logic
  30. }
  31.  
  32. };
  33.  
  34.  
  35. int main(int argc, char *argv[]) {
  36. vector<IInherit*> v;
  37. Repo r;
  38. cDerived cd(&r);
  39. v.push_back(&cd);
  40. Repo *rep = static_cast<cDerived*>(v[0])->GetRepo();
  41. cout << "done" << endl;
  42. }
Success #stdin #stdout 0s 2984KB
stdin
Standard input is empty
stdout
done