Wide use of virtual functions
I'm learned C and C++ first, and only learned java because my university required me to do so. Other people at my university learned Java first, and to me, they have a very typical "Java mindset" even when developing in C++.
I might be wrong though, so I'm asking what you guys think.
Thing is, they are using abstract classes with virtual functions, in order to create "interfaces"(like in java), that their other classes should implement. They do this for classes that they are not even sure will need it, but they do it "just in case" they will need to be virtual in the future.
Also, they frequently use classes and functions such as "factories" for creating classes etc.
I dunno, maybe I'm just too influenced by C-programming. But is this really good C++ programming practice?