Re: Adding the ability to add functions into structures?



Richard Heathfield wrote:
Chuck F. said:
Jack Klein wrote:

... snip ...

I know I'll get flamed for this, but with the exception of inheritance this is really nothing but syntactical sugar.
You can write object oriented programs in C right now.


A perfect example is the FILE data type, declared an
<stdio.h>. It has a creator, fopen(), a destructor,
fclose(), and all sorts of methods you can invoke on it via
its pointer, such as fprintf(), fscanf(), fread(), fwrite(),
between its successful creation and its destruction.

I see no reason for any fires. The only problem with your example is that you can't write (in general) that type in C.

I must have misunderstood what you mean, because I see no reason whatsoever why one could not write (in general) that type in C.

I meant that to implement FILE you have to access such things as ports, disks, etc. that take you out of pure C.


--
"If you want to post a followup via groups.google.com, don't use
 the broken "Reply" link at the bottom of the article.  Click on
 "show options" at the top of the article, then click on the
 "Reply" at the bottom of the article headers." - Keith Thompson
More details at: <http://cfaj.freeshell.org/google/>
.



Relevant Pages

  • Re: Adding the ability to add functions into structures?
    ... It has a creator, fopen, a destructor, fclose, and all sorts of methods you can invoke on it via its pointer, such as fprintf, fscanf, fread, fwrite, between its successful creation and its destruction. ... It offers the opaque incomplete object "hshtbl", ... Of course hashlib has the advantage of being designed some 30 plus years later than the FILE system. ... "If you want to post a followup via groups.google.com, don't use the broken "Reply" link at the bottom of the article. ...
    (comp.lang.c)
  • Re: ExpatXS: Cant call method "read" on an undefined value after ca. 500 XML files
    ... > If you have any luck on that, ... > of a needed destructor would show up as OS-specific bug, ... A destructor just might avoid the accumulation. ... "Reply" at the bottom of the article headers. ...
    (comp.lang.perl.misc)