this post was submitted on 13 Nov 2024
196 points (98.5% liked)

Programmer Humor

32559 readers
564 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
[–] arrakark@10291998.xyz 10 points 1 week ago* (last edited 1 week 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.
[–] yogthos@lemmy.ml 21 points 1 week 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.

[–] Kayana@ttrpg.network 17 points 1 week ago

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