Because its functions wouldn't exist. You can't create an instance of a class where some of the function code hasn't been written. What should happen if you tried to call that function? It's meaningless.
i thought so... but, it has crossed my mind too that why it doesn't designed, like, if it calls the virtual function, it would results an error and thus the calling for that method is illegal (means that you have to erase that snippet outta your source code)
Sometimes you want to prohibit instances of a class. It is common to have an abstract base class that other classes inherit from. The abstract class then just specify the interface and the derived classes have to implement the function that was pure virtual in the base class.