This means the only place where I would have had to add the UpdateDialogue call was in that particulair set-function. Unfortunately, the array was a public member, accessed by other classes directly. Without it, class-reuse and the concepts of inheritance and polymorphism come to nothing. Inheritance and polymorphism. Probably all of you are familiar with inheritance, so I won t explain it here.
Polymorphism is less well known, and trickier to explain.
All thee descendants implement their own version of the Draw method, for obvious reasons. The nice thing is, a variable of type CShapeBase can become any of its descendant s types. Now this is a rather trivial example, but the principle of polymorphism is equally applicable to more interesting subjects. Now you know a bit about OOP on a practical level, I think next time I will tell you something about high-level design patterns. Traditionally, a design pattern is defined as A solution to a problem in a context , which is quite an infuriating definition in my view.