this post was submitted on 13 Nov 2024
173 points (98.3% liked)

Programmer Humor

32716 readers
222 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] 10 points 1 month ago* (last edited 1 month 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 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] 21 points 1 month 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] 17 points 1 month ago

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