If it is, then I don't see the point of having them in the newer languages.Code:#include <stdio.h> #include <stdlib.h> #define private const typedef struct class { int (* method1)(int); int (* method2)(int); private int x; private int y; } class; inline int mult_by_2(int num) { return num * 2; } inline int add_one(int num) { return ++num; } int main( ) { private class class_instance = {add_one, mult_by_2, 10, 5}; fprintf(stdout, "%d, %d", class_instance.method1(class_instance.x), class_instance.method2(class_instance.y)); return 0; }