Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <memory>
- class Base
- {
- protected:
- const char* m_name;
- public:
- Base(const char* name) {
- m_name = name;
- //OnLoad();
- }
- virtual void OnLoad() = 0;
- };
- class Child : public Base
- {
- public:
- Child(const char* name) : Base(name)
- {
- OnLoad();
- }
- virtual void OnLoad() override {
- std::cout << m_name << "\n";
- }
- };
- std::shared_ptr<Base> NewChild(const char* name)
- {
- return std::make_shared<Child>(name);
- }
- int main()
- {
- auto object = NewChild("test");
- }
Advertisement
Add Comment
Please, Sign In to add comment