Kezdőoldal » Számítástechnika » Programozás » Hogyan lehet C-ben egy függvén...

Ozmium42 kérdése:

Hogyan lehet C-ben egy függvényt "felülírni"?

Figyelt kérdés

Tegyük fel, hogy van egy deklarált func1 függvény;


int func1(int a; int b);


Meg egy "rendesen" megírt függvény:


int func2(int a, int b) {valami;}


Mit kell csinálni, hogy a func1 felülíródjon a func2-vel, és ha a func1-et hívom, akkor az történjen, mintha func2-t hívnám?


Bocsánat, ha retardáltság a kérdés, csak pythonhoz vagyok szokva. Próbálkoztam, és googliztam is, de nem találtam semmit.


2019. jún. 18. 22:16
1 2
 11/20 anonim ***** válasza:
Egy kérdésem van: Miért? Miért akarod ezt pont így megvalósítani?
2019. jún. 19. 11:46
Hasznos számodra ez a válasz?
 12/20 A kérdező kommentje:
Sikerült megvalósítanom közben, este leírom, hogyan. Genetikus algoritmushoz kell, a hibafüggvények tetszőleges cserélgetéséhez, de úgy, hogy a további kódrészletek mégis egységesen, egy név alatt dolgozzanak vele.
2019. jún. 19. 12:29
 13/20 A kérdező kommentje:

Szóval, van egy header fájl, ami tartalmazza a CalcEntError függvény deklarációját.


double CalcEntError(Ent *ent);


Illetve néhány előre megírt hibafüggvény definícióját, pl. Error1, Error2...


Egy adott feladatra szánt programban definiálni kell a CalcEntError függvényt, akár egyedi módon ott a programkódban, akár hivatkozva valamelyik előregyártott függvényre ilyen módon:


double CalcEntError(Ent *ent) {return Error1(ent);}


Ez így "close enough" ahhoz, amit eredetileg akartam.

2019. jún. 19. 18:55
 14/20 anonim ***** válasza:
Ez a hatalmas megfejtés? LoL :D :D
2019. jún. 19. 19:27
Hasznos számodra ez a válasz?
 15/20 A kérdező kommentje:
Látod, pont ennyivel több, mint amennyit a te hozzászólásaidból tanultam.
2019. jún. 19. 19:33
 16/20 anonim ***** válasza:

Csak megsúgom, hogy ez volt a #1 komment és a teljes mértékben triviális megfejtés.

Ezért NAGYON fölösleges volt kérdést kiírni.

2019. jún. 19. 19:36
Hasznos számodra ez a válasz?
 17/20 A kérdező kommentje:
Nem az én megoldásom a lényeg. Megkérdezték, hogy pontosan mi az, amit így akarok megoldani, ezért írtam le a kontextust. Amit megtudtam a kérdésből, hogy nem lehet úgy megcsinálni, ahogy eredetileg akartam. Ezért nem volt felesleges. A #1 válasz pedig valóban segített. Aki C-vel kel és fekszik, annak triviális, kezdőként, főleg ha hozzá is vagy szokva egy jelentősen más észjárású nyelvhez, jócskán bele lehet gabalyodni.
2019. jún. 19. 20:27
 18/20 anonim ***** válasza:

Az amire gondol a kérdező azt polimorfizmusnak hívjuk és virtuális függvényekkel lehet megvalósítani, bár a C alapvetően nem támogatja, csak annak a fejletteb verziói (pl C++), de ennek ellenére itt egy lehetséges megoldás:


[link]

2019. jún. 23. 09:43
Hasznos számodra ez a válasz?
 19/20 anonim ***** válasza:
#17: Melyik nyelvben nem lehet egyik függvényből meghívni egy másikat?
2019. jún. 23. 12:20
Hasznos számodra ez a válasz?
 20/20 A kérdező kommentje:
Nem meghívni akartam, hanem felülírni. Olyan módon, ami pythonban úgy nézne ki, hogy func1 = func2.
2019. jún. 23. 14:40
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!