globale variabler er initialisert til 0. Vi kan ha flere variabler med samme navn. Nærmeste blokk gjelder mest. int i=1; for(int i=10; i<20; i++){ int i=100; cout << i; //i==100 } a ^= b; b ^= a; a ^= b; a += b; //a=1+2=3 b = a - b; //b=3-2=1 a = a - b; //a=3-1=2 call by reference hvis funksjonsdefinisjonen tar inn &variabel: void modifiser(&variabel) Defaultverdier i funksjonsdefinisjoner: double volum(double x, double y=1, double z=1) assert(blabla); //er omtrent det samme som if(!blabla){ cerr << "din idiot"; return 1; } --------------29.01.2008-------------- const enum Color {kløver, hjerter, spar, ruter} cout << hjerter; struct sparekonto{ double saldo; double rente; int antallUttak; }; sparekonto minkonto; sparekonto dinkonto={1000.0, 5.0, 12}; minkonto = dinkonto; cout << minkonto.saldo; KLASSER: Som struct, men har også funksjoner som medlemmer. Bytt ut struct med class ovenfor, og det kompilerer. class sparekonto{//medlemmer av klassen er objekter public: double saldo; double rente; int antalluttak; void settinn(double sum); }; sparekonto min;//min er et objekt min.settinn(10000); void sparekonto::settinn(double sum){ saldo += sum; } ------------30.01.2008-------------- konstruktører brukes til å initialisere objekter. Er funksjoner i objektet med samme navn som objektet: Konto sparekonto(12332, 123, 0.04); Konto budsjettkonto(2, 3213212, 0.03); Konto::Konto(int nyttKontonr, double nysaldo, double nyrente) : kontonr(nyttKontonr), saldo(nySaldo){ //initialiseringsliste gir objektene verdi i øyeblikket de opprettes. kontonr=nyttKontonr; saldo=nySaldo; antallUttak=0; maxAntallUttak=12; } Konto::Konto(int nyttKontonr){ //overlagring kontonr=nyttKontonr; } /* Det finnes egentlig også en parameterløs default-konstruktør: Konto::Konto(){ kontonr=0; saldo=0; osv... } */ eksplisitt kall til konstruktør Konto konto1 = Konto()