#include <iostream> #include <cstdlib> #include <ctime> class Base { public: virtual void show() { std::cout << "Base class show function" << std::endl; } virtual ~Base() = default; }; class Derived1 : public Base { public: void show() override { std::cout << "Derived1 class show function" << std::endl; } }; class Derived2 : public Base { public: void show() override { std::cout << "Derived2 class show function" << std::endl; } }; void callShow(Base* obj) { obj->show(); } int main() { std::srand(std::time(0)); // 設定亂數種子 Base* b; if (std::rand() % 2 == 0) { b = new Derived1(); } else { b = new Derived2(); } callShow(b); delete b; return 0; }
2024/9/5
test gdb step into virtual function
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言