Seems more like a C++ concern. The way I look at it is as follows. An object in Game Maker is the same as a class in C++, and an instance in Game Maker in C++ is an object of that class. From how I look at it, all objects in Game Maker all have something in common - the x, y, depth, id, and so on are all representative of the same thing.
Thus, I think that representing that in C++ would be something like having a base, abstract class called Object; with virtual functions so that you could not create an object from it. The child classes would be objects with different properties, characters, weapons, solid objects only, etc.
Of course, I may be wrong. Classes can have methods though as you know, which are like functions for each class.
My gut tells me that you would have a method in an object and in that object's method coding, you could call a function that you've created.