Where is the violation?
Remember: A derived class object should be able to substitute for a base class object without changing the behavior of the program
- A Circle should do everything a plain Shape can do (but not vice versa)
- A Bvec should do everything a plain Vector should do (but not vice versa)
But we can’t create, say, Bvec(10)