Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

Pseudopolimorfizam funkcija u C-u
WWW:

Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
mibo
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 04. 10. 2007. (14:52:50)
Postovi: (51)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 6 - 3
Lokacija: /var/tmp

PostPostano: 16:47 pon, 20. 10. 2008    Naslov: Pseudopolimorfizam funkcija u C-u Citirajte i odgovorite

Mogu li (i kako) imitirati [url=http://en.wikipedia.org/wiki/Type_polymorphism]polimorfne funkcije (function overloading?)[/url] (kao u npr. C#) u C-u?

[size=9]Konkretno; želio bih napraviti funkciju MAKE_NULL koja će ovisno o tipu parametra stvoriti LIST ili STACK (želim zadržati kompatibilnost sa [url=http://web.math.hr/nastava/spa/files/salabahter.pdf]šalabahterom[/url] -- inače lako je staviti npr. MAKE_NULL_L i MAKE_NULL_S funkcije ;-) gdje prva stvara LIST, a druga STACK).[/size]

P.S. Moderator slobodno preseli topic, ako ne pripada ovdje.
Mogu li (i kako) imitirati polimorfne funkcije (function overloading?) (kao u npr. C#) u C-u?

Konkretno; želio bih napraviti funkciju MAKE_NULL koja će ovisno o tipu parametra stvoriti LIST ili STACK (želim zadržati kompatibilnost sa šalabahterom – inače lako je staviti npr. MAKE_NULL_L i MAKE_NULL_S funkcije Wink gdje prva stvara LIST, a druga STACK).

P.S. Moderator slobodno preseli topic, ako ne pripada ovdje.



_________________
WAR IS PEACE
FREEDOM IS SLAVERY
IGNORANCE IS STRENGTH
George Orwell: 1984
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3562)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 18:41 pon, 20. 10. 2008    Naslov: Re: Pseudopolimorfizam funkcija u C-u Citirajte i odgovorite

[quote="mibo"]Mogu li (i kako) imitirati [url=http://en.wikipedia.org/wiki/Type_polymorphism]polimorfne funkcije (function overloading?)[/url] (kao u npr. C#) u C-u?[/quote]

Mislim da se moze, barem u nekoj mjeri, ali da je chupavo. :?

[quote="mibo"]Konkretno; želio bih napraviti funkciju MAKE_NULL koja će ovisno o tipu parametra stvoriti LIST ili STACK (želim zadržati kompatibilnost sa [url=http://web.math.hr/nastava/spa/files/salabahter.pdf]šalabahterom[/url] -- inače lako je staviti npr. MAKE_NULL_L i MAKE_NULL_S funkcije ;-) gdje prva stvara LIST, a druga STACK).[/quote]

Pada mi na pamet funkcija koja radi s netipiziranim pointerima ([tt]void*[/tt]), pa onda nekako "pametno" zakljucuje sto ti zelis (ali nije ogranicena ulaznim i povratnim tipovima). :) Idealno je vjerojatno sloziti funkcije [tt]LIST_*[/tt] i [tt]STACK_*[/tt], pa onda neke bez ovog "[tt]LIST_[/tt]"/"[tt]STACK_[/tt]" koje ce, ovisno o parametrima, pozivati sto vec treba. :)

Nisam pokusavao... za takve eskapade su pristojniji jezici negoli je to C. ;)

[quote="mibo"]P.S. Moderator slobodno preseli topic, ako ne pripada ovdje.[/quote]

Moderator to slobodno napravi i bez tvoje dozvole. :P
mibo (napisa):
Mogu li (i kako) imitirati polimorfne funkcije (function overloading?) (kao u npr. C#) u C-u?


Mislim da se moze, barem u nekoj mjeri, ali da je chupavo. Confused

mibo (napisa):
Konkretno; želio bih napraviti funkciju MAKE_NULL koja će ovisno o tipu parametra stvoriti LIST ili STACK (želim zadržati kompatibilnost sa šalabahterom – inače lako je staviti npr. MAKE_NULL_L i MAKE_NULL_S funkcije Wink gdje prva stvara LIST, a druga STACK).


Pada mi na pamet funkcija koja radi s netipiziranim pointerima (void*), pa onda nekako "pametno" zakljucuje sto ti zelis (ali nije ogranicena ulaznim i povratnim tipovima). Smile Idealno je vjerojatno sloziti funkcije LIST_* i STACK_*, pa onda neke bez ovog "LIST_"/"STACK_" koje ce, ovisno o parametrima, pozivati sto vec treba. Smile

Nisam pokusavao... za takve eskapade su pristojniji jezici negoli je to C. Wink

mibo (napisa):
P.S. Moderator slobodno preseli topic, ako ne pripada ovdje.


Moderator to slobodno napravi i bez tvoje dozvole. Razz



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
mibo
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 04. 10. 2007. (14:52:50)
Postovi: (51)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 6 - 3
Lokacija: /var/tmp

PostPostano: 19:26 pon, 20. 10. 2008    Naslov: Re: Pseudopolimorfizam funkcija u C-u Citirajte i odgovorite

[quote="vsego"]
Pada mi na pamet funkcija koja radi s netipiziranim pointerima ([tt]void*[/tt]), pa onda nekako "pametno" zakljucuje sto ti zelis[/quote]

Tak' sam i mislio; [tt]void*[/tt] tip parametra.To 'pametno zaključivanje' bi bila funkcija (operator?) á la [url=http://en.wikipedia.org/wiki/Typeof]typeof[/url], koje nema u C-u :sigh:

[quote="vsego"][quote="mibo"]P.S. Moderator slobodno preseli topic, ako ne pripada ovdje.[/quote]Moderator to slobodno napravi i bez tvoje dozvole. :P[/quote] :okgreen:
vsego (napisa):

Pada mi na pamet funkcija koja radi s netipiziranim pointerima (void*), pa onda nekako "pametno" zakljucuje sto ti zelis


Tak' sam i mislio; void* tip parametra.To 'pametno zaključivanje' bi bila funkcija (operator?) á la typeof, koje nema u C-u Uzdah...

vsego (napisa):
mibo (napisa):
P.S. Moderator slobodno preseli topic, ako ne pripada ovdje.
Moderator to slobodno napravi i bez tvoje dozvole. Razz
Mr.Green says Ok!



_________________
WAR IS PEACE
FREEDOM IS SLAVERY
IGNORANCE IS STRENGTH
George Orwell: 1984
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
Luuka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 19:42 pon, 20. 10. 2008    Naslov: Citirajte i odgovorite

ti ćeš uživat na RP1... c++ je super jezik... u njemu sve možeš, jako je pametan... :D :D :D :D
ti ćeš uživat na RP1... c++ je super jezik... u njemu sve možeš, jako je pametan... Very Happy Very Happy Very Happy Very Happy



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
mibo
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 04. 10. 2007. (14:52:50)
Postovi: (51)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 6 - 3
Lokacija: /var/tmp

PostPostano: 19:44 pon, 20. 10. 2008    Naslov: :-D Citirajte i odgovorite

@Luuka: Jedva čekam :-D
@Luuka: Jedva čekam Very Happy



_________________
WAR IS PEACE
FREEDOM IS SLAVERY
IGNORANCE IS STRENGTH
George Orwell: 1984
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail Posjetite Web stranice
vsego
Site Admin
Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09)
Postovi: (3562)16
Spol: zombi
Sarma = la pohva - posuda
854 = 1068 - 214
Lokacija: /sbin/init

PostPostano: 19:48 pon, 20. 10. 2008    Naslov: Re: Pseudopolimorfizam funkcija u C-u Citirajte i odgovorite

[quote="mibo"][quote="vsego"]Pada mi na pamet funkcija koja radi s netipiziranim pointerima ([tt]void*[/tt]), pa onda nekako "pametno" zakljucuje sto ti zelis[/quote]
Tak' sam i mislio; [tt]void*[/tt] tip parametra.To 'pametno zaključivanje' bi bila funkcija (operator?) á la [url=http://en.wikipedia.org/wiki/Typeof]typeof[/url], koje nema u C-u :sigh:[/quote]

Nema [tt]typeof()[/tt] u C-u i mislim da ga ne moze niti biti, jer je [tt]void*[/tt] (jedina "netipizirana" stvar u C-u) jednostavno adresa nekakvih podataka i C nema odakle shvatiti kakvi su to podaci. :? Ako ga castas kao [tt]int[/tt], bit ce [tt]int[/tt]; ako ga castas kao nesto drugo, bit ce to nesto drugo. :) Taj stos sam koristio u [url=http://degiorgi.math.hr/prog1/apps/prikaz.php]alikaciji za prikaz brojeva u racunalu[/url]. :D

Ne, "nesto pametno" bi moralo biti na racun paramet(a)ra... vjerojatno dodatnog parametra, no mozda mozes to i izbjeci (barem ponekad). :) Pogledaj [url=http://www.opengroup.org/onlinepubs/007908799/xsh/varargs.h.html][tt]varargs.h[/tt][/url], mozda ti pomogne. 8)

@Luuka: Ti se nisi nikada igrao s PERLom, Pythonom ili tako nekim naprednim jezikom, je l' da? ;)
mibo (napisa):
vsego (napisa):
Pada mi na pamet funkcija koja radi s netipiziranim pointerima (void*), pa onda nekako "pametno" zakljucuje sto ti zelis

Tak' sam i mislio; void* tip parametra.To 'pametno zaključivanje' bi bila funkcija (operator?) á la typeof, koje nema u C-u Uzdah...


Nema typeof() u C-u i mislim da ga ne moze niti biti, jer je void* (jedina "netipizirana" stvar u C-u) jednostavno adresa nekakvih podataka i C nema odakle shvatiti kakvi su to podaci. Confused Ako ga castas kao int, bit ce int; ako ga castas kao nesto drugo, bit ce to nesto drugo. Smile Taj stos sam koristio u alikaciji za prikaz brojeva u racunalu. Very Happy

Ne, "nesto pametno" bi moralo biti na racun paramet(a)ra... vjerojatno dodatnog parametra, no mozda mozes to i izbjeci (barem ponekad). Smile Pogledaj varargs.h, mozda ti pomogne. Cool

@Luuka: Ti se nisi nikada igrao s PERLom, Pythonom ili tako nekim naprednim jezikom, je l' da? Wink



_________________
U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju.
Drzim prodike
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Luuka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 14:12 uto, 21. 10. 2008    Naslov: Re: Pseudopolimorfizam funkcija u C-u Citirajte i odgovorite

[quote="vsego"]
@Luuka: Ti se nisi nikada igrao s PERLom, Pythonom ili tako nekim naprednim jezikom, je l' da? ;)[/quote]

Dosad nisam, al još sam mlad... :D
vsego (napisa):

@Luuka: Ti se nisi nikada igrao s PERLom, Pythonom ili tako nekim naprednim jezikom, je l' da? Wink


Dosad nisam, al još sam mlad... Very Happy



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 1. godine, preddiplomski studij Matematika -> Programiranje 1 i 2 Vremenska zona: GMT + 01:00.
Stranica 1 / 1.

 
Forum(o)Bir:  
Ne možete otvarati nove teme.
Ne možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan