Talk:C++ Programming/Classes/Abstract Classes

this article needs a spelling check since it contains plenty of misspelled words

(Note sure who wrote the above. Adding three tildes will sign it, or four will sign and date it.)

Fair comment, though I'm not the original author of this material. I've fixed many of the spellings/grammatical issues. I also fixed the common misconception that a pure virtual function is one that is not implemented in the class, as pure virtuals can be implemented. We should also document that they can be implemented, and that they can be called but only non-virtually. We should also document that a pure virtual destructor should be implemented, as it will be called (non-virtually) implicitly by the destructors of derived classes. -- James Dennett 05:56, 6 December 2006 (UTC)

The last two sentences are confusing to me. While I might be able to fix them grammatically, my C++ expertise isn't trustworthy.

"Generally, the maximum accepted layers of inheritance is about 3, above that and refactoring of the classes is generally called for.

A general test is the "is a" vs "has a", as in a Square is a Rectangle, but a Square has a set of sides."

I would change "about 3" to just "3", since "about" is redundant (per "Generally"). The sentence should end there.

Next replace ", above that and refactoring of the..." (?) with "Beyond that, refactoring the...".

The last sentence is out of place. It has more to do with inheritance vs aggregation than it does with inheritance being taken too far.

Pbyhistorian (discuss • contribs) 18:03, 27 June 2020 (UTC)