I ja se slazem da je interesantan primjer, koji da naci svoju primjenu. Ali primjena u crackerske
svrhe je pomalo, upitna. Prije svega, ova metoda, nazovimo je tako, mora zadovoljavati
tone nekih uslova, moramo tacno znati sve āproceseā kroz koje elementi klase prolaze, i
najvaznije, kojeg je tipa varijabla.
Zar nije jednostavnije koristiti debugger odnosno disassembler ?
[quote][quote]Nemojte puno vjerovat Emiragi, on je novi pingvin, a i kk je tek junior.
Ako vam treba savjet obratite se nekom senijoru [/quote]
Ko se bude uzdizao biÄe ponižen, ko se bude ponizio biÄe uzdignut. :D[/quote]
i ja sam mislio poslati isti ovakav post, ali sam se u po frke predomislio da ne sipadem nekiā¦ 8)
Zanimljiv primjer (zlo)upotrebe adresnog operatora i pokazivaÄke aritmetike :lol:
C++ je monstruozan, nema Å”ta, ali to ne znaÄi da OOP nevalja (niti da je s druge strane neÅ”to ārevolucionarnoā). 80tih su mislili da Äe to spasiti svijet, tj. softver (oooo, kako su pogrijeÅ”ili, samo programiranje u C-u može spasiti svijet 8) )
Kako bi gornji primjer uradio u modernom OO programskom jeziku? Recimo Objektnom Pascalu (aka Delphi), (vrlo) vjerovatno tek uz pomoÄ asemblera (ili malo petljanja sa PChar). Problem i postoji zato Å”to je C++ naslijedio āopuÅ”tenā stav prema āraÄunskimā operacijama sa pointerima (ma Å”ta to znaÄilo). Delphi ima poboljÅ”an stav (mogu se sabirati samo pokazivaÄi tipa PChar), to je ipak dovoljno da onemoguÄi gore navedene egzbicije.
P.S.
OOP je viÅ”e metodologija programiranja nego neka nova revolucija/pravac u programiranju. To se ostvarilo sa par sintaksnih dodataka postojeÄim jezicima. Å to se tiÄe C-a, ne znam Å”ta se tu trebalo dadavatā :lol: ljudi (GTK+) se sasvim dobro snalaze i sa C-om (dok god kompajler ā(u)meÄeā struct u struct na Jedini Ispravan NaÄin ā¢)
// --- //
type
klasa = class
constructor Create;
public
a: integer;
private
b: integer;
end;
pint = ^integer;
// --- //
constructor klasa.Create;
begin
a := 202;
b := 101;
end;
// --- //
procedure test;
var ova: klasa;
begin
ova := klasa.Create;
ShowMessage(IntToStr(pint(integer(@ova.a)+sizeof(integer))^));
ova.Destroy;
end;
// --- //
Ne bi Adis bio Adis kada ne bi malo filozofirao jel tako To sto tvrdis da OOP nije revolucionarno je glupost Plus dodajmo k tome tvrdnju da samo programiranje u C-u moze spasiti svijet. Softver svakim danom postaje sve kompleksniji, i neke danasnje programe bi bilo nemoguce zamisliti bez OOP-a.
OOP jeste revolucionaran i jeste buducnost. To je jedan od nacina, ili mozda jedino trenutno poznat nacin da se komuniciranje sa gvozdjurijom ostvari covjeku bliskim nacinom i shvatanjem. A to sto se ljudi dobro snalaze sa GTK+ je to, da je to jedino koliko toliko koristen toolkit u C-u od sirih masa, mada vecna developera polako prelazi na njegovu C++ inacicu. Raditi sa C-om na necem vecem od 10000 linija koda je cisti mazohizam, i kontraproduktivnost (povecana vjerovatnoca greske), sto danas u informatickoj industriji i nije kao opcionalno rjesenje. Dakle OOP je Jedini Ispravan NaÄin ā¢.
PS.
ne brini se, ima i gorih mazohista, koji fino kodiraju prozore u assembleru
[IRONIJA]
oooo, kako su pogrijeŔili, samo programiranje u C-u može spasiti svijet 8)
[/IRONIJA]
Ne tvrdim ja da OOP nije revolucionarno, to tvrde ljudi āvicnijiā programerskom zanatu od mene (npr. uvazeni prof. dr Niklaus Wirth je to i demonstrirao na projektu Oberon)
Ljudi se danas ponasaju kao da se OOP pojavilo sa C++ (a ne 1967 sa Simulom!). Znaci 35 godina OOP-a, a ja bogami ne vidim neke posebne rezultate, ta revolucija se brate nesto otegla :rolleyes: A za to vrijeme kompleksnost softvera raste, a ono sto jos vise raste je broj gresaka po ājediniciā koda.
P.S.
KK,
Decko, ti si fakat talentovan, covjek ti da āfinā jezik a ti nadjes nacin da ga demoliras, he, he
Eh pa sadaā¦, ironija se moze izraziti na stotine nacina, a ne na nacin obicnog potvrdjivanja.
Koji ce to citatelj skontati sta se piscu vrzmalo po glavi, ako to on ne predstavi adekvatnim sredstvima.
Tacno je da se OOP pojavio sa Simulom, ali nije bilo potrebe za njegovom potrebom, jer kao i
sto sam znas, pisanje u OOP-u malih programcica je bespotrebno komplikovanje. Dalje,
tim vremenom je asembler vladao, a znas kakvi si softverasi po pitanju usvajanja novih metoda i jezika.
Kako to ne vidis resuzltate OOP-a. Pa danas ti je skoro svaki moderan jezik (ako ne i svaki u
aktivnijoj upotrebi) OO, a stvaranje novih ide po istom principu.
A za greskeā¦; one su proporcionalne kolicini koda, i moram ti reci da se kolicina gresaka poprilicno smanjila. āBezgresanā kod je, barem za sada, nemoguce postici, a vjerovatnoca
da se to postigne u daljnjoj buducnosti je veoma mala.