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

Programmer Humor

32939 readers
562 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 2 months ago* (last edited 2 months 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 2 months ago (1 children)

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.

[–] Unbecredible@lemm.ee 1 points 4 days ago (1 children)

yogthos: I have problem y. How can I solve problem y?

StackOverflow: You don't solve problem y. You solve problem x so that problem y never comes into being.

yogthos: Oh wow. Shit okay, well what if I'm already having problem y though? How can -

StackOverflow: bruh. Why are you even still thinking about problem y? Problem y isn't real; it can't hurt you. Problem y was just a mirage. Get it? It was a red herring. An epistemological myth you told yourself too many times and started believing. Problem y is just a sickness of the mind made manifest. Cleanse yourself of it.

lol I know you're not saying that to be dismissive I just like dramatizing things

[–] yogthos@lemmy.ml 1 points 4 days ago

I guess it's a question of whether you're designing a system from scratch, or having to deal with an existing one. I took the original question to mean the former, but yeah it's not much help if you've already got classes and you have to figure out how to make them play nice together.

[–] Kayana@ttrpg.network 17 points 2 months ago

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