I am writing a large abstract base class with 30 purely virtual methods *.
Finding all the functions to implement in the base class in the implementation classes is a bit tedious, mainly because MSVC ++ does not tell you which function you could not implement with the compiler error "Unable to build an abstract class"
So, I am wondering, my big abstract base class is a bad idea, or should I split it into several interfaces, or is there a compiler warning that I can activate that will tell me which WHICH method I was unable to provide an implementation for .. or it's just part of the coding with abstract classes, and I have to get used to it.
<sub> * What it does is provide a layer of common functionality between several different rendering subsystems. Sub>
. , , , , , , . , , - , , . .
, , , . , . . , , , - , , , , , - . , , .
, , , . , ( ) .
, , , .
, , , , , -, , .
, ( ), , , , . , ?, .
- , . /, SOLID, 30 , , ... wold, . !
As a rule, immediately after the error "It is impossible to create an abstract class" (which is called on the line that it called), if you copy and paste the interface into the class before writing the implementations, you will receive a linker error "Unresolved external error" indicating the method that you forgot to implement.