fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <memory>
  5. using namespace std;
  6.  
  7. class Nome {
  8. protected:
  9. string nome;
  10. public:
  11. Nome(string _nome) {
  12. nome = _nome;
  13. }
  14. virtual void exibirNome() = 0;
  15. };
  16. class SobreNome : public Nome {
  17. string sobre_nome;
  18. public:
  19. SobreNome(string nome, string _sobre_nome) : Nome(nome) {
  20. sobre_nome = _sobre_nome;
  21. }
  22. void exibirNome() {
  23. cout << nome << " " << sobre_nome;
  24. }
  25. };
  26.  
  27. int main() {
  28. vector<unique_ptr<Nome>> nome;
  29. nome.emplace_back(new SobreNome("João", "Alves"));
  30. nome[0]->exibirNome();
  31. return 0;
  32. }
Success #stdin #stdout 0s 3460KB
stdin
Standard input is empty
stdout
João Alves