I'm fairly new to programming (about four months learning), and have decided to mess about with an attempt at writing a language in C for both fun and practice, and am wondering how objects are implemented when you get down to it.At the moment I am just looking to turn my 'code' into a c-file, and then compile that, so the approach I am thinking of taking is to make my compiler turn each class-method into a function and the rest of the object a struct, and replace any calls to that method with the function whilst passing the appropriate variables from whichever instance is calling the class-method.(i.e. adding the internals to the list of arguments, and modifying the amount of arguments the method accepts to match)So my question is (ignoring the other things that objects do at the moment), 'how bad is this approach', and even if it's okay, what is the usual way? 
A question about implementing objects in a language written in C
c;language design;object
This sounds like the old CFront compiler - which compiled C++ into C:Cfront was the original compiler for C++ (then known as C with  Classes) from around 1983, which converted C++ to C; developed by  Bjarne Stroustrup. The preprocessor did not understand all of the  language and much of the code was written via translations. Cfront had  a complete parser, built symbol tables, and built a tree for each  class, function, etc.So your approach has been done before with some success. I would certainly suggest it's a worthwhile technique.