• arrakark@10291998.xyz
    link
    fedilink
    English
    arrow-up
    9
    ·
    edit-2
    2 months ago

    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.
    • ☆ Yσɠƚԋσʂ ☆@lemmy.ml
      cake
      OP
      link
      fedilink
      arrow-up
      18
      ·
      2 months 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.

      • Unbecredible@lemm.ee
        link
        fedilink
        English
        arrow-up
        1
        ·
        11 hours ago

        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

        • ☆ Yσɠƚԋσʂ ☆@lemmy.ml
          cake
          OP
          link
          fedilink
          arrow-up
          1
          ·
          10 hours 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
      link
      fedilink
      arrow-up
      15
      ·
      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?