class base;
class derived : public base;
base::base(){func();};
derived::derived() : base(){};

derivedはfunc()を継承時上書きしてるのですが、
derivedの生成時にbase::func()が呼ばれてしまいます。
derived::func()をよびだすにはどうしたらよいのでしょうか?

また、コンストラクタはなぜvirtualにできないのか教えてください。