Guest User

Untitled

a guest
Dec 12th, 2016
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.67 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. class Animal {
  7.     public:
  8.         virtual void talk();
  9. };
  10.  
  11. class Duck : public Animal {
  12.     public:
  13.         void talk() { cout << "quack" << endl; }
  14. };
  15.  
  16. class Horse : public Animal {
  17.     public:
  18.         void talk() { cout << "neigh" << endl; }
  19. };
  20.  
  21. int main(){
  22.     vector<*Animal> animals;
  23.     animals.push_back(new Duck());
  24.     animals.push_back(new Horse());
  25.     for(auto i = animals.begin(); i != animals.end(); i++){
  26.         Animal* a = *i;
  27.         a->talk();
  28.     }
  29. }
  30. /*
  31. λ g++ main.cpp -o main
  32. main.cpp: In function 'int main()':
  33. main.cpp:22:13: error: '*' cannot appear in a constant-expression
  34.      vector<*Animal> animals;
  35.              ^
  36. main.cpp:22:19: error: template argument 1 is invalid
  37.      vector<*Animal> animals;
  38.                    ^
  39. main.cpp:22:19: error: template argument 2 is invalid
  40. main.cpp:23:13: error: request for member 'push_back' in 'animals', which is of non-class type 'int'
  41.      animals.push_back(new Duck());
  42.              ^
  43. main.cpp:24:13: error: request for member 'push_back' in 'animals', which is of non-class type 'int'
  44.      animals.push_back(new Horse());
  45.              ^
  46. main.cpp:25:14: error: 'i' does not name a type
  47.      for(auto i = animals.begin(); i != animals.end(); i++){
  48.               ^
  49. main.cpp:25:35: error: expected ';' before 'i'
  50.      for(auto i = animals.begin(); i != animals.end(); i++){
  51.                                    ^
  52. main.cpp:25:35: error: 'i' was not declared in this scope
  53. main.cpp:25:48: error: request for member 'end' in 'animals', which is of non-class type 'int'
  54.      for(auto i = animals.begin(); i != animals.end(); i++){
  55. */
Add Comment
Please, Sign In to add comment