C++ pointer to base class
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <vector>
class Parent {
public:
virtual void sayHi()
{
std::cout << "Parent here!" << std::endl;
}
};
class Child : public Parent {
public:
void sayHi()
{
std::cout << "Child here!" << std::endl;
}
};
class DifferentChild : public Parent {
public:
void sayHi()
{
std::cout << "DifferentChild here!" << std::endl;
}
};
int main()
{
std::vector<Parent*> parents;
// Add 10 random children
srand(time(NULL));
for (int i = 0; i < 10; ++i) {
int child = rand() % 2; // random number 0-1
if (child) // 1
parents.push_back(new Child);
else
parents.push_back(new DifferentChild);
}
// Call sayHi() for each type! (example of polymorphism)
for (const auto& child : parents) {
child->sayHi();
}
return 0;
}
Are there any code examples left?
New code examples in category C++
-
C++ 2023-04-28 17:44:25
-
C++ 2022-03-27 19:20:39 lists occurrences of characters in the string c++
-
C++ 2022-03-27 18:00:14 variabili in c++
-
C++ 2022-03-27 17:10:08 repeat character n times c++
-
C++ 2022-03-27 15:50:07 delete an array c++
-
C++ 2022-03-27 12:15:21 find the graph is minimal spanig tree or not
-
C++ 2022-03-27 11:30:15 multi variable assignment cpp
-
C++ 2022-03-27 11:05:17 c++ pi float
-
C++ 2022-03-27 10:20:12 why exceptions can lead to memory leaks