|
Informatyka UJ forum Rocznik 2005 - czyli najlepsze forum w sieci
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
kap00ch
Mistrz grilla
Dołączył: 09 Mar 2006
Posty: 1840
Przeczytał: 0 tematów
Skąd: ja sie tu wzialem?
|
Wysłany: Nie 2:29, 28 Sty 2007 Temat postu: |
|
|
eee fidel...to sie kompiluje
w ogole polecam se obczaic to ponizej...i na zmiane se pokomentowac odkomentowac to co zaznaczylem....
Kod: | #include <iostream>
class B;
class A{
friend class B;
public: int a;
private: int b;
};
class C : protected A{
//friend class B; //odkomentowac to i zamienic nastepne adekwatne linie na komenty i niekomenty ;]
};
class B : protected C{
public:
void f(){
A::b = 5;
//C::b = 5;
}
void f2(){
A::b = 6;
//C::b = 6;
}
void f1(){
a = 4;
}
void print_f(){
std::cout<<A::b;
}
};
B test;
int main() {
test.f2();//to se komentna...a potem to nizej i zobaczyc :]
test.f();
test.print_f();
int k;
std::cin>>k;
return 0;
} |
|
|
Powrót do góry |
|
|
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Fidel
żul
Dołączył: 19 Lis 2005
Posty: 649
Przeczytał: 0 tematów
Skąd: Kraków
|
Wysłany: Nie 2:33, 28 Sty 2007 Temat postu: |
|
|
kapooch pod visualem piszesz? jesli tak to sie kompiluje, ale sprobuj pod gcc
edit: jeszcze ciekawiej :) pod gcc 3.3.1 sie kompiluje pod gcc 3.4.2 nie
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
hansu
Nieomylny Admin
Dołączył: 17 Lis 2005
Posty: 1990
Przeczytał: 0 tematów
Skąd: przychodzimy? Czym jestesmy? Dokad zmierzamy?
|
Wysłany: Nie 2:39, 28 Sty 2007 Temat postu: |
|
|
kapuh uzywa gcc w wersji 3.3.1, a wiekszosc z nas zapewne 3.4.2 (defaultowo z dev-cpp 4.9.9.2). U niego sie to kompiluje, u nas nie. Zwazywszy na fakt ze kolejne wersje gcc powinny byc coraz BARDZIEJ zgodne ze standardem, a nie coraz mniej, to trzeba zaprzyjazniac wszystkie po kolei...
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
kap00ch
Mistrz grilla
Dołączył: 09 Mar 2006
Posty: 1840
Przeczytał: 0 tematów
Skąd: ja sie tu wzialem?
|
Wysłany: Nie 2:47, 28 Sty 2007 Temat postu: |
|
|
ja na kartce egzmainu napisze na dole ze kompiluje wg gcc 3.3.1 i mnie to wali ;p nie bede se przez was swiatopogladu zmieniac;d
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Fidel
żul
Dołączył: 19 Lis 2005
Posty: 649
Przeczytał: 0 tematów
Skąd: Kraków
|
Wysłany: Nie 2:51, 28 Sty 2007 Temat postu: |
|
|
dobra to chyba koniec tematu. w takim razie dam jeszcze kilka przykladow na ktorych mozna sie troche nauczyc:
java:
Kod: | static void f(final int[] t, int n)
{
t[0] = 9999;
for (int i = 0; i < n; ++i)
System.out.println(t[i]);
}
|
czy to sie skompiluje? jesli nie to dlaczego, jesli tak to co wypisze funkcja i co bedzie zawierac tablica po wyjsciu z funkcji?
a nizej ktore sie skompiluja, a ktore nie? polecam sie zastanowic zamiast wrzucac do kompilatora i patrzec co zrobi.
Kod: | class B{
void f( final Integer aa ){
aa = 5;
}
}
|
Kod: | class B{
void f( final Integer aa ){
aa = new Integer(5);
}
}
|
Kod: | class A{
public int a;
}
class B{
void f( final A aa ){
aa.a = 5;
}
} |
c++:
Kod: | class A{
public int a;
}
class B{
void f( const A& aa ){
aa.a = 5;
}
} |
Kod: | class A{
public int a;
}
class B{
void f( A& const aa ){
aa.a = 5;
}
} |
Kod: | class A{
public int a;
}
class B{
void f( A* const aa ){
aa->a = 5;
}
} |
Kod: | class A{
public int a;
}
class B{
void f( const A* aa ){
aa->a = 5;
}
} |
jakby ktos mial problem ze zrozumieniem czemu tak jest to piszcie
Ostatnio zmieniony przez Fidel dnia Nie 12:17, 28 Sty 2007, w całości zmieniany 1 raz
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Skrobocik
[SKROBORANGA]
Dołączył: 29 Lis 2005
Posty: 2958
Przeczytał: 0 tematów
Skąd: Skarżysko , Kraków
|
Wysłany: Nie 12:15, 28 Sty 2007 Temat postu: |
|
|
Fidel napisał: | (...)
c++:
Kod: | class A{
public int a;
}
class B{
void f( final A aa ){
aa.a = 5;
}
} |
(...) |
yyyyyyyyyy......final :?:
W javie nie wiem, ale chyba z tych dwóch sposobów, to jak już, to ten z new Integer(5) według mnie prędzej zadziała. A z tą tablicą, to chyba się nie da nadpisać, tak mi się wydaje...
Jeśli chodzi o C++, to pierwsze nie przejdzie, bo consta chcemy zmieniać, drugie przejdzie, bo tylko referencja jest stała, trzecie, też bo to chyba to samo, co drugie (chyba), ze wskaźnikami też chyba powinno przejść (const przy wskaźniku znaczy, że nie można go przepinać :?: )
I jak wypadłem, Fidel :?:
EDIT: Z javy, to tylko z tablicą przechodzi :?
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Fidel
żul
Dołączył: 19 Lis 2005
Posty: 649
Przeczytał: 0 tematów
Skąd: Kraków
|
Wysłany: Nie 12:23, 28 Sty 2007 Temat postu: |
|
|
juz poprawilem. programy z cpp zaczynaja sie o jeden nizej
wypadles raczej slabo ;)
drugie( teraz pierwsze z cpp) nie przejdzie to oznacza zapis read-only nastepne nie przejdzie bo taki zapis jest niemozliwy w cpp, nastepne przejdzie, wskaznik jest staly ale mozna zmieniac obiekt na ktory wskazuje, i ostatnie tez nie przejdzie bo tak jak przy referencji to jest zapis read-only
a z javy ani =5 ani =new Integer nie przejdzie i ten ostatni przejdzie bo nie zmieniasz referencji tylko zmienna obiektu
a co do tej tablicy, skompiluje sie wypisze 9999 2 3 4 5 i po wyjsciu z funkcji tak zostanie. zmieniamy elementy tablicy a stala referencje do tablicy
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Rogal
Zjeb z kaszanką
Dołączył: 13 Mar 2006
Posty: 1745
Przeczytał: 0 tematów
Skąd: koło podbiegunowe
|
Wysłany: Nie 12:29, 28 Sty 2007 Temat postu: |
|
|
W javie przejdzie 1. i 4. bo final (stałe) są referencje na obiekty, a nie to na co one wskazują. Tj. w pierwszym nie moglibyśmy napisać t = new int[10], albo t = g, ale możemy się bawić elementami na które tablica wskazuje. To samo się tyczy 4. A 2. i 3. nie przejdą bo chcemy zmienić referencję, która jest zadeklarowana jako stała.
Co do c++:
nie przejdzie 1., 4.
przejdzie 2., 3.
z tych samych powodów.
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Skrobocik
[SKROBORANGA]
Dołączył: 29 Lis 2005
Posty: 2958
Przeczytał: 0 tematów
Skąd: Skarżysko , Kraków
|
Wysłany: Nie 12:30, 28 Sty 2007 Temat postu: |
|
|
Łoj.......... :?
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Fidel
żul
Dołączył: 19 Lis 2005
Posty: 649
Przeczytał: 0 tematów
Skąd: Kraków
|
Wysłany: Nie 12:47, 28 Sty 2007 Temat postu: |
|
|
Rogal napisał: | W javie przejdzie 1. i 4. bo final (stałe) są referencje na obiekty, a nie to na co one wskazują. Tj. w pierwszym nie moglibyśmy napisać t = new int[10], albo t = g, ale możemy się bawić elementami na które tablica wskazuje. To samo się tyczy 4. A 2. i 3. nie przejdą bo chcemy zmienić referencję, która jest zadeklarowana jako stała.
Co do c++:
nie przejdzie 1., 4.
przejdzie 2., 3.
z tych samych powodów. | w cpp tylko 3. przejdzie :P zapis "A& const" jest bledny w cpp i nie moze sie skompilowac
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Rogal
Zjeb z kaszanką
Dołączył: 13 Mar 2006
Posty: 1745
Przeczytał: 0 tematów
Skąd: koło podbiegunowe
|
Wysłany: Nie 12:52, 28 Sty 2007 Temat postu: |
|
|
heh, faktczynie, referencja z definicji jest stała.
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
hansu
Nieomylny Admin
Dołączył: 17 Lis 2005
Posty: 1990
Przeczytał: 0 tematów
Skąd: przychodzimy? Czym jestesmy? Dokad zmierzamy?
|
Wysłany: Pon 2:26, 29 Sty 2007 Temat postu: |
|
|
No to powodzenia wszystkim. Let's smash this silly exam :P
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Skrobocik
[SKROBORANGA]
Dołączył: 29 Lis 2005
Posty: 2958
Przeczytał: 0 tematów
Skąd: Skarżysko , Kraków
|
Wysłany: Pon 3:07, 29 Sty 2007 Temat postu: |
|
|
Tak jest - powodzenia ;)
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
kg86
zielony żul
Dołączył: 22 Gru 2005
Posty: 1194
Przeczytał: 0 tematów
Skąd: pochodze?
|
Wysłany: Pon 5:23, 29 Sty 2007 Temat postu: |
|
|
nie ma przyszlosci :P
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
dzendras
Germański oprawca
Dołączył: 07 Mar 2006
Posty: 1326
Przeczytał: 0 tematów
Skąd: Chorzów
|
Wysłany: Pon 8:49, 29 Sty 2007 Temat postu: |
|
|
jaki egzamin? :shock:
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Fen
zielony żul
Dołączył: 22 Lut 2006
Posty: 946
Przeczytał: 0 tematów
Skąd: Bochnia
|
Wysłany: Pon 8:55, 29 Sty 2007 Temat postu: |
|
|
ej... serio... jakiś egzamin jest? kiedy? jak? gdzie?!!!!
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
pazabo
pijak
Dołączył: 02 Lut 2006
Posty: 60
Przeczytał: 0 tematów
Skąd: Kraków
|
Wysłany: Pon 18:52, 29 Sty 2007 Temat postu: |
|
|
No nawet nie mówcie, że sesja się już zaczęła !! Przecież to znaczy że P2 i Analizy trzeba się będzie w końcu pouczyć !!
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
chlebek
alkoholik
Dołączył: 04 Lut 2006
Posty: 556
Przeczytał: 0 tematów
Skąd: Siedlce\Kraków
|
Wysłany: Pon 19:37, 29 Sty 2007 Temat postu: |
|
|
no co Ty jaka sesja, tylko kartkowek ma byc podobno sporo w tym tygodniu
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Fen
zielony żul
Dołączył: 22 Lut 2006
Posty: 946
Przeczytał: 0 tematów
Skąd: Bochnia
|
Wysłany: Pon 19:38, 29 Sty 2007 Temat postu: |
|
|
pazabo napisał: | No nawet nie mówcie, że sesja się już zaczęła !! Przecież to znaczy że P2 i Analizy trzeba się będzie w końcu pouczyć !! |
nie chcę Cię martwić... ale dzisiaj... to nie był wykład... to był egzamin z P2!!!! i tym samym SESJA (System eliminacji studentów jest aktywny) została uruchomiona ;(
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
r4ku
żul
Dołączył: 09 Lut 2006
Posty: 722
Przeczytał: 0 tematów
Skąd: klikash? :D
|
Wysłany: Pon 19:40, 29 Sty 2007 Temat postu: |
|
|
eee jaki egzamin? dzisiaj? no bez jaj... nie straszcie ludzi i nie piszcze glupot na forum bo dostaniecie za to ostrzezenie :D
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
kafex
zielony żul
Dołączył: 28 Mar 2006
Posty: 1458
Przeczytał: 0 tematów
Skąd: Zawiercie
|
Wysłany: Pon 19:47, 29 Sty 2007 Temat postu: |
|
|
To nie była anonimowa ankieta ?
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Stasiu
zielony żul
Dołączył: 16 Lis 2005
Posty: 920
Przeczytał: 0 tematów
Skąd: krk
|
Wysłany: Pon 19:58, 29 Sty 2007 Temat postu: |
|
|
a ja myslalem ze toto-lotka wysylamy... :o
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
pazabo
pijak
Dołączył: 02 Lut 2006
Posty: 60
Przeczytał: 0 tematów
Skąd: Kraków
|
Wysłany: Pon 20:57, 29 Sty 2007 Temat postu: |
|
|
Że te 3 pytania to był egzamin ?? A jest gdzieś klucz ??
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Rogal
Zjeb z kaszanką
Dołączył: 13 Mar 2006
Posty: 1745
Przeczytał: 0 tematów
Skąd: koło podbiegunowe
|
Wysłany: Pon 21:29, 29 Sty 2007 Temat postu: |
|
|
1. Cobol
2. Smalltalk
3. Assembler
|
|
Powrót do góry |
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
|