>>948
多態的なオーバーライドを行いたければ、Animalのspeakの宣言にvirtualを付ける。
virutal void speak();

>>950
混乱を防ぐため、Dogのspeak()によって、Animalのすべてのspeakは隠蔽される。
class Dogの中でusing Animal::speak;と書くと、dog.speak(2);もコンパイル可能となる。