Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 12 odgovora
  • 5.621 pregleda

Najnovija ↓

Tip podatka kao argument funkcije 23.01.2006. u 18:01 · pre 253 meseca #1
Zelim napisati funkciju koja kao argument prima tip podatka (int, double ili sl..)..
Kako? Hvala
Re: Tip podatka kao argument funkcije 23.01.2006. u 18:16 · pre 253 meseca #2
Za sta ce ti takva f-ja? Ne kazem da nema primenu vec da ne shvatam problem u potpunosti.

Moguce je da ce upotreba tipa void* raditi posao.

Inace, mozes da enumerises moguce tipove (v. enum) i f-ji prosledjujes odgovarajuce vrednosti kao i da lepo oponasas stdio pa tip navodis u const. stringovima.
Potpis
Ipak se ++uje.
Re: Tip podatka kao argument funkcije 23.01.2006. u 19:08 · pre 253 meseca
izmenjeno 1 put, poslednji put NrmMyth 23.01.2006. u 19:09
  1. NrmMyth23.01.2006. u 19:09zapis iz teksta poruke
#4
To i nista drugo!
Ili preopterecuj ako ti je draze...
Re: Tip podatka kao argument funkcije 24.01.2006. u 09:01 · pre 253 meseca #5
Neznam da li ste radili sa funkcijama koje uzimaju neogranicen broj argumenata. Tada postoji macro va_list, a on kao drugi parametar prima TIP varijable koja se sljedeca treba dohvatiti iz takve funkcije.

Sjetite se funkcije printf...

Sablone (template) je opet ista stvar. Time radim sa podacima bilo kojeg tipa, ali ja zelim znati kako definirati tip podatka kao argument. void * je ok, ali to je adresa varijable bilo kojeg tipa.

Zelim znati kako identificirati pojedini tip podatka koji se proslijedi funkciji. To pogotovo ima smisla bas kod template funkcija, a i kod funkcija sa neogranicenim brojem argumenata.
Re: Tip podatka kao argument funkcije 24.01.2006. u 09:38 · pre 253 meseca #7
Pa ako znas, daj i jedno i drugo :)
Ako nemas volje, daj barem napisi za C++. Hvala
Re: Tip podatka kao argument funkcije 24.01.2006. u 10:50 · pre 253 meseca
izmenjeno 2 puta, poslednji put salec 24.01.2006. u 10:52
  1. salec24.01.2006. u 10:52zapis iz teksta poruke
  2. salec24.01.2006. u 10:52zapis iz teksta poruke
#8
Citat:
itf: Sjetite se funkcije printf...


Los primer. printf-u ti "nacrtas" u format stringu sta mu je sta, a on poznaje samo konacan broj osnovnih tipova podataka.

typeof nije keyword standardnog C++, ali...

http://www.codeproject.com/vcpp/stl/typeof.asp
http://gcc.gnu.org/onlinedocs/gcc/Typeof.html

uostalom:

http://www.google.com/search?q=typeof
Re: Tip podatka kao argument funkcije 24.01.2006. u 13:05 · pre 253 meseca #9
Zbog čega ti je tačno potrebno raspoznavanje tipova, šta funkcija treba da uradi sa tim argumetima? Verovatno postoji bolje rešenje, više u duhu C++a, nego što je određivanje tipova u toku izvršavanja.
Re: Tip podatka kao argument funkcije 24.01.2006. u 14:41 · pre 253 meseca #10
Kada radim predlozak funkcije (template) zelim da mi se u ovisnosti o tipovima podataka neke akcije obavljaju na jedan tj. drugi nacin.
Re: Tip podatka kao argument funkcije 24.01.2006. u 17:22 · pre 253 meseca
izmenjeno 1 put, poslednji put Mali Misha 24.01.2006. u 17:28
  1. Mali Misha24.01.2006. u 17:28zapis iz teksta poruke
#11
pada na pamet:

1. enum tipova pa redundantni pozivi
2. Za sopstvene objekte: nasledjivanje. definisanje virtuelne f-je u jednoj klasi a razlicitih dejstava iste u zavisnosti od tipa objekta u klasama samih objekata koje nasledjuju tu klasu.
Potpis
Ipak se ++uje.
Re: Tip podatka kao argument funkcije 24.01.2006. u 17:51 · pre 253 meseca #12
Citat:
Kada radim predlozak funkcije (template) zelim da mi se u ovisnosti o tipovima podataka neke akcije obavljaju na jedan tj. drugi nacin.


U tom sluchaju ti treba "Multimethod paradigm", gde se pozivi funkcija dispechuju u zavisnosti od prosledjenih argumenata. (Ovo se, recimo, chesto koristi u fizichkim simulacijama, gde se kolizija razreshava u zavisnosti od tipa objekta u koliziji)

Konsultuj chika Alexadrescu-a i "Modern C++ Design" za info kako to (manje vishe) elegantno odraditi u C++u pomocu templejta
Re: Tip podatka kao argument funkcije 24.01.2006. u 20:56 · pre 253 meseca
izmenjeno 1 put, poslednji put kime1 24.01.2006. u 21:20
  1. kime124.01.2006. u 21:20zapis iz teksta poruke
#13
Mislim da ti to rešava najefikasnije operator typeid, odnosno funkcija typeid(objekat).name (), jer čini mi se da je preko preklapanja operatora malo komplikovanije...a šablon radi posao ako je ista obrada podataka,što kod tebe nije slučaj... a u C-u baš i ne znam kako to uraditi (ali verujem da može)?!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme