c++ virtual 仮想関数

#include <stdio.h>
#include <iostream>
using namespace std;


class Parent{
 public:
        virtual void func(){printf("parent");}
};

class Child : public Parent{
 public:
        void func(){printf("child");}
};


int main(){
    Parent* parent;
    parent = new Child();
    parent->func();
    cout << "\n\n\n";
	return 0;
};
virtual付けていると出力はchild
virtual付けてないと出力はparent

親のポインタに子供を入れて、関数呼び出したときにどちらが呼ばれるかが、
virtualの有無で決まる。