Let say I have a class with multiple methods. I like to separate into multiple classes. Can I inherit that classes or can I create member with that classes? Which one is more efficient and usable?
Let's say i have this below class
class ClassRoom {
vector<int> BoysIds;
vector<int> GirlsIds;
public:
void RegisterBoy(int i);
void RegisterGirl(int i);
int GetTotalBoys();
int GetTotalGirls();
};
And i have separated into multiple classes like below
class Boys {
vector<int> BoysIds;
public:
void RegisterBoy(int i);
int GetTotalBoys();
};
class Girls {
vector<int> GirlsIds;
public:
void RegisterGirl(int i);
int GetTotalGirls();
};
inheriting a class is more efficient?
class ClassRoom : public Boys, public Girls {
};
creating a member is more efficient?
class ClassRoom {
public:
Boys m_boys;
Girls m_girls;
};