Здравствуйте.
Появилась необходимость «подружить» процедурный язык Си и объекты. Абстрактный пример: пусть есть некоторый класс в скомпилированной библиотеке (it means, у меня нет доступа к исходному коду). Опишем его в терминах Java-подобного синтаксиса:
public class SomeClass
{
public int x; //Поле целого класса
public SomeClass() //Конструктор класса
{
...
}
public int SomeMetod(int y) //Метод класса
{
...
}
}
Если я хочу обратится к x или методу SomeMetod() на том же языке, проблем нет:
SomeClass instant = new SomeClass();
instant.x = 1;
instant.SomeMetod(3);
Как сделать то же самое в терминах языка Си? Указатель ведь может ссылаться на что угодно в памяти.
P.S. В примере не имеется ввиду язык Java. Имеется ввиду компилируемый объектно-ориентированный язык.
Перемещено beastie из general