unless you are going to have A1 and A2 as static members, you must initialise them in the clsB constructor.
either
Code:
typedef enum {TYPE1, TYPE2} enumType;
class clsA{
public:
int a;
clsA(enumType n_type){a=n_type;};
};
class clsB{
public:
clsA A1;
clsA A2;
clsB() : A1(TYPE1), A2(TYPE2) {}
};
or...
Code:
typedef enum {TYPE1, TYPE2} enumType;
class clsA{
public:
int a;
clsA(enumType n_type){a=n_type;};
};
class clsB{
public:
static clsA A1;
static clsA A2;
};
clsA clsB::A1(TYPE1);
clsA clsB::A2(TYPE2);