Herbert said:
C++ is not really object oriented. On that I miss real classes, class
factories instead of renamed structs.
You likes to program object oriented? Really object oriented, not ony
C with renamed structs (classes)?
Then look for CORBA.
In C++, class == struct. Do you know what is a class? From wikipedia:
Class
Defines the abstract characteristics of a thing (object), including the
thing's characteristics (its attributes, fields or properties) and the
thing's behaviors (the things it can do, or methods, operations or
features). One might say that a class is a blueprint or factory that
describes the nature of something. For example, the class Dog would consist
of traits shared by all dogs, such as breed and fur color (characteristics),
and the ability to bark and sit (behaviors). Classes provide modularity and
structure in an object-oriented computer program. A class should typically
be recognizable to a non-programmer familiar with the problem domain,
meaning that the characteristics of the class should make sense in context.
Also, the code for a class should be relatively self-contained (generally
using encapsulation). Collectively, the properties and methods defined by a
class are called members.
In C++, you can really put all these inside a class, therefore, it is a
class. For example:
typedef int32_t Color;
class Dog{
public:
Color color;
void bark();
void sit();
};