   simple object question
#include <iostream>using std::cout;using std::endl;using std::cin;class Test {public:Test( int = 0, int = 0, int = 0 );~Test();void print();private:int a;int b;int c;};Test::Test( int x, int y, int z ){a = x;b = y;c = z;}Test::~Test(){}void Test::print(){cout << a << endl << b << endl << c << endl;}int main(){Test obj1( 2, 5, 7 ), obj2;obj1.print();obj2.print();return 0;}When an object is created, for example obj1( 2, 5, 7 ) does it get a copy of the private member variables? Which is why when obj1.print() and obj2.print is called they have their own different values?   
  Each object gets it's own copy of non-static member variables, such as a, b and c in your example. Objects of the same class will share static member variables.   ;  Yes, unless you stick the "static" keyword in from of them.   ;  ok, thanks :)   ;  Don't know if i understand your question, but every instance of Test has its own int a,int b, int c.   