X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/bb80145308ea388d7c6ed5336c061340e78f66e8..284f1fa2ace3e276052ff1bd7d66442500e693da:/doc/tutorial.tex diff --git a/doc/tutorial.tex b/doc/tutorial.tex index afc6109..bb357d8 100644 --- a/doc/tutorial.tex +++ b/doc/tutorial.tex @@ -84,7 +84,7 @@ The main consequences of this are as follows. hostile to object-oriented programming as it ever was. This means that you'll end up writing ugly things like \begin{prog} - thing->_vt->foo.frob(thing, mumble); + thing@->_vt@->foo.frob(thing, mumble); \end{prog} fairly frequently. This can be made somewhat less painful using macros, but we're basically stuck with C. The upside is that you know exactly what @@ -197,7 +197,7 @@ bizarre looking runes. Let's take it one step at a time. allocates space for an instance of class @"Greeter". We're not going to use this space directly. Instead, we do this frightening looking thing. \begin{prog} - Greeter *g = Greeter__class->cls.init(\&g_obj); + Greeter *g = Greeter__class@->cls.init(\&g_obj); \end{prog} Taking it slowly: @"Greeter__class" is a pointer to the object that represents our class @"Greeter". This object contains a member, named @@ -208,7 +208,7 @@ the instance, which we use in preference to grovelling about in the Having done this, we `send the instance a message': \begin{prog} - g->_vt->greeter.greet(g, stdout); + g@->_vt@->greeter.greet(g, stdout); \end{prog} This looks horrific, and seems to repeat itself quite unnecessarily. The first @"g" is the recipient of our `message'. The second is indeed a copy of