this post was submitted on 13 Nov 2024
143 points (98.6% liked)

Programmer Humor

32464 readers
403 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 8 points 18 hours ago* (last edited 18 hours ago) (2 children)

I straight up never got a nice answer from StackOverflow on this. Say you have 5 classes, each requiring access to the data members/functions of the others. What's a nice way to solve this problem? I've thought of only two ~~nice~~ shit methods:

  • Pass pointers/shared-pointers etc to each class, but not through the constructor but a setter function
  • Pass lambdas or std::function everywhere. Yuck! Still doesn't put each object in a valid state in the constructor.
[–] [email protected] 11 points 14 hours ago

The. real question is whether this problem needs to be modelled using classes in the first place. The alternative is to just have a set of composable functions that take a piece of data and return a modified version that can be passed to a different function.

[–] [email protected] 10 points 17 hours ago

Well, what problems are you trying to solve by having the classes all access each other's data members? Why is that necessary?