Związki C i polimorfizm [duplikat]
Możliwy duplikat:
Jak mogę symulować polimorfizm w stylu OO w C?
Próbuję użyć związków, aby stworzyć polimorfizm w C. Wykonuję następujące czynności.
typedef struct{
...
...
} A;
typedef struct{
...
...
} B;
typedef union{
A a;
B b;
}C;
Moje pytanie brzmi: jak mogę mieć metodę, która przyjmuje typ C, ale pozwala także na A i B? Chcę, żeby następujące rzeczy działały:
Jeśli zdefiniuję funkcję:
myMethod(C){
...
}
wtedy chcę, żeby to zadziałało:
main(){
A myA;
myMethod(myA);
}
Tak nie jest. Jakieś sugestie?