«« ( Date ) »» // «« ( Thread ) »» // ir4pp1 - 2007

Re: pitanja

by Aleksandar Milicevic
utorak, 09. januar 2007 - 20:14.

On 1/9/07, Djole <djolent@gmail.com> wrote:

1. Da li je u MJ dozvoljeno preklapanje metoda po imenu? Npr, nije
svejedno kada ubacujem metodu
int saberi(int a, int b, int c);
ako vec postoji
int saberi(int a);
Trenutna metoda Tab.insert(...) ne dozvoljava tako nesto. Problem nije
samo pri umetanju, vec i pri ispitivanju poklapanja stvarnih i formalnih
argumenata.


Valjda ne postoji method overloading.

2. Ako posmatram sledeci fragment koda

Class Program

Class Unutra1{
int a;
}

Class Unutra2{
Unutra1 b[];
}

Class Unutra3{
Unutra2 c[];
}

{
Unutra3 metod1(Unutra1 x) {...}

void main()
Unutra1 un1; // (**)
Unutra2 un2;
Unutra3 un3;

{
...
metod1(un3.c[7].b[4]).c[9].b[1].a=75; // (***)

}
}

Da li treba da se detektuje koriscenje i greske u kompatibilnosti za
ovakvo igranje sa poljima klase i povratnim tipovima metoda, posto je ovaj
izraz (***) sasvim regularan za zadatak 1a, varijanta od 8 poena?


Sto da ne.

Da li u tacki (**) treba da prijavimo, pored unosenja simbola un1 u
tabelu simbola, i koriscenje simbola Unutrasnja1? To bi znacilo da i za
svaku deklaraciju tipa int a; moramo da kazemo :"Koriscen predeklarisani
simbol "int" u toj i toj liniji", jer zaista i jeste?


Sta znaci to "da prijavimo"?
Nije valjda da treba ispisivati na kozolu nesto kao "koriscen simbol ..."?
Mnogo je logicnije samo proveriti da li simbol postoji u tabeli, pa ako ne
postoji, ili postoji ali je pogresna vrsta (metod umesto var i sl.)
prijaviti gresku.

--
Pozdrav,
Aleksandar Milicevic
aca.milicevic@gmail.com