News for hackers. Stuff that matters.
Re:Grim C++ Tales from the Crypt: The Visitor Pattern (2017) by scroot on Thursday March 07, 2019 @12:07PM (#19329751)
I don't know about the limitations of C++, but something like what you describe would happen in Smalltalk. Take for example a Canvas object and a bunch of different shape objects (square, circle, etc):

  "Square class"
  drawOn: aCanvas
      aCanvas line: (some point) to: (some point).
      "etc"
  
  "Triangle class"
  drawOn: aCanvas
      aCanvas line: self leftVertex to: self rightVertex.
      "etc"

  "Canvas class"
  drawShapes: aCollection
      aCollection do: [ :shape |
          shape drawOn: self ]

There are no comments on this comment yet.