C++ pomoć

poruka: 15
|
čitano: 3.069
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
C++ pomoć

Može li mi neko objasniti pokazivace i klase u C++.

 

 
0 0 hvala 0
17 godina
offline
C++ pomoć

Pa, dobro da nisi zatražio da ti netko napiše knjigu.

 

Budi konkretniji, što te točno zanima (a da nije bezbroj puta ovdje objašnjeno)?

The candle flame gutters. Its little pool of light trembles. Darkness gathers. The demons begin to stir.
 
3 0 hvala 0
16 godina
neaktivan
offline
C++ pomoć
Mozda bi si stvarno trebao nabaviti neku knjigu... mislim pokazivaci i klase, nije to bas lako objasniti u dvije recenice pa da ti je jasno...
All religions are the same: religion is basically guilt, with different holidays.
 
1 0 hvala 0
17 godina
neaktivan
offline
C++ pomoć

Pokazivaci

 

Pokazivaci

 

Klase

 

Ne moze se u tri recenice, stoga su tu iznad linkovi.

Rjesava jednostavne probleme u podforumu Programiranje od 2008. xD http://irale.deviantart.com
 
1 0 hvala 1
15 godina
neaktivan
offline
RE: C++ pomoć

Nešto osnovno neke primjere XD

 

16 godina
neaktivan
offline
RE: C++ pomoć

Ispričavam se autoru ,ali napisao sam veliki post o pokazivačima i u pokušaju slanja bug je jednostavno pao i napravio ovo dolje na slici,i zato dok ne dođem sebi od 

toga da se bug forum malo kvari ,pošaljem kad se smirim jer već par puta pri slanju mi se javljaju ovakvi problemi.

 

 

Private
16 godina
neaktivan
offline
RE: C++ pomoć

LOL Smijeh

Ako budeš još imao problema zalijepi ovdje i postaj link (odaberi Forever).

Press any key to continue or any other key to quit.
17 godina
neaktivan
offline
RE: C++ pomoć
Private kaže...

Ispričavam se autoru ,ali napisao sam veliki post o pokazivačima i u pokušaju slanja bug je jednostavno pao i napravio ovo dolje na slici,i zato dok ne dođem sebi od 

toga da se bug forum malo kvari ,pošaljem kad se smirim jer već par puta pri slanju mi se javljaju ovakvi problemi.

 

 

neprocjenjivo, ha? Smijeh

Rjesava jednostavne probleme u podforumu Programiranje od 2008. xD http://irale.deviantart.com
16 godina
neaktivan
offline
RE: C++ pomoć
Private kaže...

Ispričavam se autoru ,ali napisao sam veliki post o pokazivačima i u pokušaju slanja bug je jednostavno pao i napravio ovo dolje na slici,i zato dok ne dođem sebi od

toga da se bug forum malo kvari ,pošaljem kad se smirim jer već par puta pri slanju mi se javljaju ovakvi problemi.

  To bi mogao biti ozbiljan problem s IE8 (ako dobro vidim), jer meni se to nije nikada dogodilo

ni s operom, firefox ili chrome ...

All religions are the same: religion is basically guilt, with different holidays.
16 godina
neaktivan
offline
RE: C++ pomoć

Evo ,sad sam samo onako na brzinu o pokazivačima ...možda se autor niti ne snađe ,ali bar sad može reći konkretno što ne razumije o pokazivačima ,a i mi se možemo nadograditi.....hmmmm u pitanju je bio IE8 i to kad sam cijeli kod napisao i VS osmici (copy-paste) i pokušao poslati..kad ono rušenje foruma ,ne IE8-mice...ona je i dalje šljakala .Zato sad samo u notepadu pišem i postam ovdje ,relativno je nerazumljivo ali sam autor sad može zaključiti što to ne razumije i konkretno postaviti pitanje ,jer se ovako može napisati cijela knjigaBogataš...

 

 

 Pokazivač je objekt koji pokazuje na drugi objekt ili objekte,

 Pokazivač sadržava adresu  objekta na koji pokazuje. Znači mi pokazivaču da bi omogučili njegovu djelatnost pokazivanja  na nešto(objekt) ,

  moramo dodijeliti adresu tog objekta.To pokazivaču dodojeljujemo &-adresnim  operatorom.
Znači deklaracija pokazivača:
int *p;

ili

int* p

Tto nam deklarira da smo deklarirali pokazivač koji pokazuje na neki objekt tipa int.
Znači sad samo trebamo deklarirati neki int objekt ;
int broj = 45;
....sad da bismo adresu dodijelili tom pokazivaču moramo to ovako napraviti;

p=&broj;
ali da bismo došli do broja nije dovoljno napisati :

cout<<p;
Treba se izvršiti dereferenciranje pokazivača da bismo došli to broja na toj adresi;
cout<<*p<<endl;
i to sad ispisuje broj 45...

Znači uzimanje adrese(reference ) je p=&broj;
a pokazivanje broja na toj adresi je *p....
(dereferenciranje)....upamti ta dva izraza...
Isti pokazivač možemo preusmjeriti i na drugu adredsu ako deklariramo još jedan broj tipa

int i onda samo preusmjerimo pokazivač na tu adresu...itd itd...
Ovo je samo mali dio o pokazivačima ,sad ti reci što tebi nije jasno .

Recimo int** znači da je to tip pokazivač koji pokazuje na pokazivač tipa int koji pokazuje na

tip int...vrši se dvostruko dereferenciranje.....

recimo....
int **pp ---pp je tipa pokazivač na pokazivač tipa int
Što to znači....znači da taj **pp mora ukazivati na neki int* p a ne na int p.

npr :
int x=0;
int *p=&x;
int** pp;
pp=&p;
*p=5;  p pokazuje na x i sad x postaje 5
**pp=8;    pp pokazuje na p,p pokazuje na x i sad x postaje 8 radi dvostrukog

dereferenciranja!
 Da , bio sam si dao truda  ,i lijepo to s primjerima pokazao u kodu ,kad ono banana...a to nisam niti sačuvao jer mi nije baš potrebno, osim toga tlak mi je bio na visini zbog toga , tako da sam sve  zbrisao ....znate ono kad vam ne ide pa želite spaliti komp....Nevinašce......eto ..neka sad pita konkretno a ne općenito....

 Sad probaj razumjeti kod liniju po liniju :  

 

 #include <iostream>
using namespace std;
/*Deklaracija pokazivaca*/
int main()
{
                 //int *pokazivac;
                 //ili
                 //int* pokazivac2;
                 //a ovo je deklaracija pokazivaca i varijable u jednom redu
  int *pokazivac3 , broj =100;
              //ovo je dakle int broj na kraju reda ;
 
              //sad treba pokazivac usmjeriti na adresu od broja
     pokazivac3 =&broj;
  cout<<(int)&broj<<" : ovo je adresa na kojoj se nalazi broj."<<endl;//ovdje samo kastao da se bolje razumije
              //&adresni operator
             //sad pokazivac pokazuje na broj
  cout<<broj<<" : Ispis broja"<<endl;;
             //ovo ce samo pokazivati znaci adresu
  cout<<(int)pokazivac3<<"  : ispis adrese na kojoj je broj i pokazivac preusmjeren"<<endl;
             //da bi došli do broja na toj adresi moramo dereferencirati adresu
  cout<<*pokazivac3<<" : dereferenciranje pokazivača"<<endl;
            //sad valjda vidiš što radi pokazivac...
            //adresni operator je referenca na memorijsku lokaciju gdje je smješten broj
            //sad možeš raditi s pokazivačem što želiš
            //sad smo ga preusmjerili na drugu adresu.
 cout<<endl;
 cout<<"Sad isti postupak kao i gore ali s drugim brojem i adresom: "<<endl;
 int broj2=45;
 cout<<(int)&broj2<<endl;
 pokazivac3=&broj2;//sad je na drugoj adresi
 cout<<(int)&broj<<endl;// a adresa broja je ista(onog prvog)
 
 cout<<(int)pokazivac3<<endl;
             //ja sam samo kastao u int tip da ti bude razumljivije adresiranje
            //sad možemo i raditi s pokazivačem
 cout<<(*pokazivac3)+5<<" : rad s brojem ali preko pokazivača"<<endl;
 cout<<broj2<<" : dok je sam broj na adresi ostao isti"<<endl;//a bro ostaje isti.
            //ovo je samo da razumiješ kako pokazivači rade i što oni "uzimaju"...sad moraš  reći što
            //ti točno nije jasno.
             //sory možda na primjeru ali sam gledao da bude razumljiviji samo sa pokazivačima
 cout<<"-------------------------------------------\n"<<endl;
 cout<<endl;
 int broj3=23;
 int **pp;
 int *p=&broj3;
 pp=&p;
 cout<<"Nakon preusmjeravanja pokazivača ,svi pokazuju na isto!!"<<endl;
 cout<<**pp<<endl;
 cout<<*p<<endl;
 cout<<broj3<<endl;
 (*p)++;//unarni operator na pokazivaču
  *p=(*p) + 5;//operator zbrajanja nad pokazivačem
               // cout<<(p + 5)<<" : ovo nije aritmetika pokazivaca jer to je povacanje adrese
               //a to naravno nije uredu!!" <<endl;
              //znači lijeva i desna strana mora biti istog tipa jer p=(*p) + 5 bi ukazao na grešku
              //probaj razumjeti zašto??
      cout<<*p<<endl;
 cout<<**pp<< ": sve što smo radili s pokazivačem ima znači efekt i na **pp"<<endl;


 
 cout<<endl;
 *p=45;         //dodjeljivanje pokazivaču nova vrijednost ,naravno pokazuje na adresu broja
 
 cout<<*p<<endl;
 cout<<**pp<<endl;
 cout<<broj3<<endl;

 

 

 


}

 

 

 Ako sam što krivo napisao ...ispravite me Osmijeh......ili dodajte za odgovor autoru bar o pokazivačima.

 

 

 

 

 

 

 

Private
Poruka je uređivana zadnji put pet 16.10.2009 9:47 (Private).
17 godina
neaktivan
offline
C++ pomoć

Ne znam sadrzajno kakvo je, ne stignem citat sad, vjerujem dobro i dovoljno, al mogao si samo jos koji enter lupit tu i tamo da bude preglednije. Nevinašce

Rjesava jednostavne probleme u podforumu Programiranje od 2008. xD http://irale.deviantart.com
Poruka je uređivana zadnji put pet 16.10.2009 1:04 (RaLe).
 
0 0 hvala 0
16 godina
neaktivan
offline
RE: C++ pomoć

Ma uredim ja to sutra navečer jer sad jednostavno nemam vremena pa lijepo sve seređeno ponovo pošaljem Namigiva

Private
15 godina
neaktivan
offline
RE: C++ pomoć
itf4n kaže...

Pa, dobro da nisi zatražio da ti netko napiše knjigu.

 

Budi konkretniji, što te točno zanima (a da nije bezbroj puta ovdje objašnjeno)?

  he he he...a jesi mu reko, bole me vilice od smjeha :) hehe- a i pitanje je na prvu jako smijesno!

15 godina
offline
C++ pomoć

jedno pitanje da li morao program raditi ili ima toga za skinuti...dakle treba mi nešto što će automatski brisati smeće(recycle bin

Coca-Cola je Najpoznatije piće, a ujedno i druga najpoznatija riječ na svijetu - odmah poslije riječi OK.Njezina je formula jedna od najvećih svjetskih tajni.U Brazilu se smatra da je Cola afrodizijak
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
RE: C++ pomoć
meluka kaže...

jedno pitanje da li morao program raditi ili ima toga za skinuti...dakle treba mi nešto što će automatski brisati smeće(recycle bin

Najlakse ti je preko ove male skripte, evo slozio za tebe, radi na win2000->win7.

Najbolje ti je staviti da ti se brise pri shutdownanju, ovako:

run -> gpedit.msc -> Computer Configuration -> Windows Settings -> Scripts (Startup/Shutdown) -> Shutdown

->proerties -> i pod add.. -> browse, i dodas skriptu.

All religions are the same: religion is basically guilt, with different holidays.
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice