Классы позволяют структурировать ваши данные осмысленным образом, улучшая расширяемость, удобство обслуживания и облегчая понимание кода. Если вашей основной проблемой является доступ к systems
из класса, вы можете просто передать его в качестве параметра. В современном C ++ вы должны использовать std::vector
или std::array
вместо C -style-arrays. Например:
class SolarSystem
{
private:
double sPositionX, sVelocityX, sPositionY;
double sVelocityY, sMass, sExcentricity;
public:
// getters and setters and stuff
void algorithm(const std::vector<SolarSystem> &otherSystems) {
for(const auto &otherSystem : otherSystems) {
// iterate through all systems...
}
}
}
Если вы храните свои солнечные системы также в std::vector
как
std::vector<SolarSystem> solarSystems;
, вы можете выполнить итерации и обновить все системы следующим образом:
for(auto &system : solarSystems) {
system.algorithm(solarSystems);
}