Jump to content
Sign in to follow this  
rikardo.1989

VTables

Recommended Posts

rikardo.1989

Boa noite, alguém sabe de algum bom tutorial do uso de tabelas de metodos virtuais em C? Já pesquisei na Internet e não encontro nada de jeito  ;)


Cumps,rikardo.1989

Share this post


Link to post
Share on other sites
Triton

Tens a certeza que é em C? Não será C++?

Em C++ já estão implementadas no compilador, portanto só me parece que faça sentido em C.

Em relação à pergunta, não conheço nenhum tutorial, mas também não tem nada que saber. Fazes um array estático e inicializas com function pointers. Depois podes atribuir novos ponteiros para fazer "override" dos "métodos".


<3 life

Share this post


Link to post
Share on other sites
rikardo.1989

sim é em C, visto C não utilizar vtables como C++, existe a possibilidade de criar uma tabela de métodos virtuais em C e usar técnicas de Object Oriented, mas já vi mais ou menos como se implementa  ;), mas um bom tutorial dá sempre jeito xD


Cumps,rikardo.1989

Share this post


Link to post
Share on other sites
aladino77

Isto é um tópico avançado!  :cheesygrin:

Vc está a implementar uma linguagem de programação OO em C?

vtable é mesmo low-level. Nas vtables  tens é ponteiros para funções e indexas a vtables para aceder aos métodos da classe. Há que arranjar uma forma de mapear os métodos em indices na vtable.

O primeiro compilador de C++ era um interpretador para C.  O Stroustrup usou vtables para implementar a herança em C++.

OO vem com um custo, sobretudo métodos virtuais.  Classes são structs e alguns dos métodos são acedidos via vtable.

Mantenha-nos a par dos progressos que venha a ter esse assunto.

Cá vai um link:

Implementing Vtable in C

http://www.daniweb.com/software-development/c/threads/228277

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.