I can see the case for a grand-child, but if a class does not provide a definition for an abstract member, is that class not, by association, abstract?
"Classes become abstract if they are defined within an abstract attribute, or if any of the virtual member functions within it are declared as abstract." I *assume* that by extending Parent, Child inherits the abstract function. If inheriting an abstract member transitively makes Child an abstract, then I find that the abstract keyword at the class level is little more than explicit documentation.
