Basically, an instance is an object of a class.
What is an object? An object is a variable, like in this situation:
int x = 10;//x is a variable of type int
But usually for instance/object we mean a variable more complex (than an integer), which means that it can hold other simpler variables (integers, doubles, etc.), like in your example:
1 2 3 4 5 6 7 8 9 10
|
class A//A, we can say, is a more complex type than a int
{
private://A contains other kinds of variables: int, double, int*
int m_a;
double m_b;
int* m_c;
} Object_C;//Here you are declaring an instance/object of type "A"
//declaring another instance of type A
A objectXXX;
|
Let's take a more concrete real example. Think about cars. What is a car? A car is an object? No, a car is just a concept (an amount of characteristics) that every real car is supposed to have.
So what is a car, if it's not an object? It's a type, it's something that characterize all the real cars, it's a (abstract) class.
So what the heck is an object? Well an object is what you can manage, what you can drive, what you can modify, it's a variable, it's something concrete and real, it's an instance of the type car! Is for example a Ferrari or a Fiat, like in your example Object_C. In fact, objects of the same type, even though they all have the same base, they can be briefly different, for example a Ferrari is surely more fast than a Fiat, but all both have a max speed .