Я знаю, что когда мы создаем несколько объектов данного типа класса, создается несколько копий переменных-членов.Каждый объект имеет отдельный набор переменных-членов.Работает ли это так же с функциями-членами?Если в моем классе много функций, дублируются ли функции-члены для каждого создаваемого объекта?У каждого созданного объекта есть свой собственный набор функций-членов?
class demo {
public:
int height;
int width;
void setheight(int height)
{
this->height = height;
}
void getArea() const
{
return height * width;
}
// 100 more member functions.
};
Это всего лишь гипотетический пример, подтверждающий точку зрения о компиляторе C ++.На самом деле это связано с тем, что я делаю в своем проекте.Предположим, у меня есть тип класса с несколькими переменными-членами, но с большим количеством функций-членов.Если я создам несколько объектов этого типа класса, будет ли у меня дублирование кода, при этом каждый объект будет иметь свою собственную копию функции-члена?В таком случае, было бы лучше для меня объявить функции как обычные автономные глобальные функции, которые вместо этого принимают объект в качестве параметра, чтобы избежать роста исполняемого файла?