|
Informatyka UJ forum Rocznik 2005 - czyli najlepsze forum w sieci
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
mateo
pijak
Dołączył: 08 Mar 2006
Posty: 296
Przeczytał: 0 tematów
Skąd: Krk - Biały Prądnik
|
Wysłany: Nie 3:51, 28 Sty 2007 Temat postu: c++ - szablony |
|
|
to ja mam taki maly quiz: mamy nastepujacy kod:
Kod: |
#include <iostream>
template<typename T>
inline T const &max(T const &a, T const &b) {
std::cout << "Funkcja szablonowa 0\n";
return a>b ? a : b;
}
template <typename>
inline char* const &max(char* const& a, char* const& b) {
std::cout << "Funkcja szablonowa 1\n";
if (strcmp(a,b)<0) return b;
else return a;
}
template<>
inline char* const &max(char* const &a, char* const &b) {
std::cout << "Funkcja specjalizowana 2\n";
if (strcmp(a,b)<0) return b;
else return a;
}
template<>
inline char* const &max<char *>(char* const &a, char* const &b) {
std::cout << "Funkcja specjalizowana 3\n";
if (strcmp(a,b)<0) return b;
else return a;
}
template<>
inline char* const &max<const char *>(char* const &a, char* const &b) {
std::cout << "Funkcja specjalizowana 4\n";
if (strcmp(a,b)<0) return b;
else return a;
}
inline char* const &max(char* const &a, char* const &b){
std::cout << "Funkcja specjalizowana 5\n";
if (strcmp(a,b)<0) return b;
else return a;
}
int main()
{
char a[] = "tekst a";
char b[] = "tekst b";
// tutaj nalezy napisac 6 linijek
}
|
i teraz jest w miescje w miejsce komentarza trzeba wstawic 6 linijek tak zeby wowolac kazda z 6ciu napisanych funkcji. szablon 0 oraz szablon 1, a takze specjalizacje 2-5..
dodam tylko ze szablon 0 i szablon 1 jak rowniez specjalizacje 3-5 bardzo latwo wywolac, ale za to najciekawsze jest wywolanie specjalizacji 2
EDITED: pierwsz osoba ktora poda jak jak wywolac specjaliacje 2 ma odemnie 4-opak (browar do wyboru:))
Ostatnio zmieniony przez mateo dnia Nie 4:33, 28 Sty 2007, w całości zmieniany 1 raz
|
|
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 4:01, 28 Sty 2007 Temat postu: |
|
|
To moze ja sie jednak wyspie w poniedzialek i poucze analizy, a nie na kampus sie bede bez sensu tlukl...
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
mateo
pijak
Dołączył: 08 Mar 2006
Posty: 296
Przeczytał: 0 tematów
Skąd: Krk - Biały Prądnik
|
Wysłany: Nie 4:18, 28 Sty 2007 Temat postu: |
|
|
A tak poza szablonami to polecam sobei przeanalizowac takie kody:
(przy niektorych sa moja komentarze, ktore sobei pisalem piszac te programy... nie powinny byc trudne w zrozumieniu)
Kod: |
#include <stdexcept>
#include <cstdio>
class A
{
public:
int a, b;
A() try : a(0), b(1) {
throw 3;
} catch (int a) {
printf("aa\n");
}
};
int main()
{
A x;
}
|
Kod: |
#include <stdexcept>
#include <cstdio>
void fun(int a) try {
//const int a = 2; blad!!!
const int b = 2;
throw b;
//} catch(int a) blad kompilacji!!! nie moze sie nazywac tak samo jak argument formalny funkcji
} catch(int &c) { // zlapie sie mimo ze b jest const!!!!
printf("%d\n", a);
//printf("%d\n", b); // brak dostepu
printf("%d\n", c);
}
int main()
{
fun(10);
}
|
Kod: |
template <typename T>
class B;
// ta deklaracja jest konieczna!!! musi byc przed class B ktora deklaruje przyjazn z funkcja szablonowa
template <typename T>
void fun(B<T> &b);
template <typename X>
void g(X a);
template <typename T>
class B
{
public:
// przyjazn pojedynczej funkcji fun(B<T>&) (nie potrzeba wpisywac tego <T>, ale mozna)
// konieczne sa <> po nazwie funkcji, jak je pominiemy bedzie warning, a nei blad kompilacji
friend void fun<>(B&);
// przyjazn calego szablonu: nie moze byc <> po fun!!
template <typename U>
friend void fun(B<U>&);
friend void d();
friend void e() { // mozna od razu zdefiniowac funkcje friend (jesli ne jest szablonowa)
}
// nie mozemy wyspecjalizowac funkcji wewnatrz klasy!!
//template<>
//friend g<int>(int a) {}
};
void d() {} // eklaracja takeij funkcji nie jest wymagana przed klasa B
int main()
{
}
|
Kod: |
template <typename T>
void fun(T a, T b)
{
}
int main()
{
const int a = 4;
int b;
// to zadzaiala , czemu????
fun(a, b);
// to nie dziala co juz jets raczej jasne
fun(&a, &b);
}
|
Kod: |
#include <cstdio>
using namespace std;
//------------------------------------------------------------------------------
static union // to moze byc tylko static bo ma zasieg calego pliku, albo jakos tak...
{
public:
int a;
float b;
// int &get_a() {return a;} // unia aninimowa nie moze miec funkcji skladowych!!
};
union U
{
float y;
int g;
};
class D
{
public:
union {
int f, k;
int h;
static int w() {return 4;} // unie moga miec statyczne funkcje
int q() {return 0;} // oraz zwykle funkcje
//static int y; // ale ne moga miec statycznych sklasnikow
// nie moga miec tez zadnych skladnikow w ktorych zdefiniowano operator przypisania badz konstruktor, czy tez destruk$
}t; // to juz nie jest unia anonimowa!!! // jak usuniemy 't' to bedzie blad kompilacji wywolany funkcja int w()
};
/******************************************************************************/
int main()
{
a = 4;
U w = {2.34}; // mozna tak robic przypisujac jedynie pierwszemu elementowi na liscie
D e;
e.t.f = 4; // teraz mozna sie jedynie tak dostac do f i k w klasie D
return 0;
}
|
jakby ktos nie wiedzial to funkcje zaprzyjazniona mozna definiowac wewnatrz klasy i dostep jest do niej spoza klasy - dodatkowo nie ma roznicy czy funkcja zaprzyjazniona jest deklarowana wewnatrz public private czy proteted:
Kod: |
#include <cstdio>
class A
{
private:
int x;
friend int funkcja(const A &tmp, int a, int b) {
return a + b + tmp.x;
}
};
int main()
{
A x;
printf("%d\n", funkcja(x, 1, 4));
}
|
Kod: |
#include <cstdio>
// taka inicjalizacja tablicy jest ok - dodatkowo wyzeruje ona wszystkie elementy!!
int a[][4][2][1][4] = {{},{{}},{{{}}},{{{{}}}}};
class abc
{
public:
void operator = (int) {}
int operator = (const abc &x) {return 0;}
};
/******************************************************************************/
int main()
{
abc q, w, e;
q = w = e;
// q = w = e = e; // blad kompilacji
}
|
Ostatnio zmieniony przez mateo dnia Nie 5:12, 28 Sty 2007, w całości zmieniany 5 razy
|
|
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 4:38, 28 Sty 2007 Temat postu: |
|
|
Cytat: | W przypadku, gdy wśród przeładowanych funkcji pojawiają się również szablony, do ustalenia, która z przeładowanych wersji danej funkcji ma zostać wybrana, stosowane są, w podanej kolejności, następujące reguły
1. ścisła zgodność argumentów z jedną z funkcji specjalizowanych
2. możliwość wygenerowania funkcji o identycznej liście argumentów w oparciu o szablon
3. dopasowanie funkcji specjalizowanej na zasadzie utożsamienia typów (np. int i const int)
4. zgodność argumentów z jedną z funkcji specjalizowanych przy wykorzystaniu konwersji standardowych w zakresie typów całkowitych rozszerzających pojemność typu (n.p. bool na int) oraz konwersja float na double
5. zgodność argumentów z jedną z funkcji specjalizowanych przy wykorzystaniu pozostałych standardowych konwersji (np. int na double, int* na void*)
6. zgodność argumentów z jedną z funkcji specjalizowanych przy wykorzystaniu konwersji zdefiniowanych przez użytkownika
Jeśli okaże się, że dopasowane zostaną dwie lub więcej funkcje na najwyższym poziomie zgodności, sygnalizowany jest błąd niejednoznaczności. |
przydatne do tego pierwszego, i moim zdaniem warto wydrukowac na egzamin
a tak przy okazji to nie udalo mi sie wywolac tej funkcji nr 2 ;)
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
mateo
pijak
Dołączył: 08 Mar 2006
Posty: 296
Przeczytał: 0 tematów
Skąd: Krk - Biały Prądnik
|
Wysłany: Nie 4:46, 28 Sty 2007 Temat postu: |
|
|
no to proboj dalej:)
w kazdym razie wywolac sie da....
|
|
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 4:50, 28 Sty 2007 Temat postu: |
|
|
mateo napisał: | no to proboj dalej:)
w kazdym razie wywolac sie da.... |
hasnowi juz sie udalo wywalic kompilator na tym :P
|
|
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 5:12, 28 Sty 2007 Temat postu: |
|
|
Fakt, udalo sie spowodowac wywalenie gcc na segfaulcie. Ale udalo mi sie tez rozwiazac zagadke:
UWAGA! SPOILER!
Kod: | std::cout << max<>(a,b) << std::endl;
std::cout << max<int>(a,b) << std::endl;
std::cout << ((char* const& (*)(char* const&, char* const&))max<>)(a,b) << std::endl;
std::cout << max<char*>(a,b) << std::endl;
std::cout << max<const char*>(a,b) << std::endl;
std::cout << max(a,b) << std::endl;
|
A tak podobno wyglada rozwiazanie wzorcowe - nie ukrywajmy ze jest duzo prostsze :P
Kod: | std::cout << max<>(a,b) << std::endl;
std::cout << max<int>(a,b) << std::endl;
std::cout << max<>((char*)a,(char*)b) << std::endl;
std::cout << max<char*>(a,b) << std::endl;
std::cout << max<const char*>(a,b) << std::endl;
std::cout << max(a,b) << std::endl;
|
Kilkenny, wybieram cie!!!!
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
mateo
pijak
Dołączył: 08 Mar 2006
Posty: 296
Przeczytał: 0 tematów
Skąd: Krk - Biały Prądnik
|
Wysłany: Nie 5:19, 28 Sty 2007 Temat postu: |
|
|
mowisz masz... :) a tego twojego rozwiazania tez ni chooja nie czaje czemu dziala :)
EDIT: swoja droga fajne to rzutowanie template'a na konkretyzacje, nie wiedzialem ze tak sie da...
|
|
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 5:27, 28 Sty 2007 Temat postu: |
|
|
Ja tez :P
|
|
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: Nie 5:45, 28 Sty 2007 Temat postu: |
|
|
gdyby te egzaminy byly za 2 tygodnie to bylaby nadzieja... niestety, 30h na programowanie i ok 55h do analizy pozbawia zludzen :(
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Robson
zielony żul
Dołączył: 21 Paź 2005
Posty: 1274
Przeczytał: 0 tematów
Skąd: Z Lasu :]
|
Wysłany: Nie 12:00, 28 Sty 2007 Temat postu: |
|
|
Dlaczego ludzie uwielbiają tak komplikować sobie życie?? ;)
|
|
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: Nie 13:49, 28 Sty 2007 Temat postu: |
|
|
Po tych wszystkich przykładach odnoszę coraz większe wrażenie, że ten język jest z d*** wzięty.. Mam nadzieje, że prof. Mrozek nie da takich przykładów..
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Robson
zielony żul
Dołączył: 21 Paź 2005
Posty: 1274
Przeczytał: 0 tematów
Skąd: Z Lasu :]
|
Wysłany: Nie 14:02, 28 Sty 2007 Temat postu: |
|
|
Cytat: | Po tych wszystkich przykładach odnoszę coraz większe wrażenie, że ten język jest z d*** wzięty.. Mam nadzieje, że prof. Mrozek nie da takich przykładów.. |
true ... pozostaje nam tylko sen na Javie... ;)
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Madras
Omylny Admin
Dołączył: 09 Lis 2005
Posty: 2021
Przeczytał: 0 tematów
Skąd: Z Pokoju :]
|
Wysłany: Nie 14:14, 28 Sty 2007 Temat postu: |
|
|
Nieprawda, C++ jest genialne. To perl jest z d*** wzięty.
|
|
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 14:17, 28 Sty 2007 Temat postu: |
|
|
Patrząc po tym co było na ostatnich egzaminach to nie ma szans, żeby były przykłady tego typu jakie Wy tutaj rozpatrujecie.
edited: Zwłaszcza, że do każdego z programów z C++ będzie max. po 5 pytań (ja osobiście typuję: Java - 7 pytań, C++ - po 4-5 na każde zadanie, Scheme - 4).
Ostatnio zmieniony przez Rogal dnia Nie 14:19, 28 Sty 2007, w całości zmieniany 1 raz
|
|
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 14:18, 28 Sty 2007 Temat postu: |
|
|
Rogal napisał: | Patrząc po tym co było na ostatnich egzaminach to nie ma szans, żeby były przykłady tego typu jakie Wy tutaj rozpatrujecie. | true :)
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
mateo
pijak
Dołączył: 08 Mar 2006
Posty: 296
Przeczytał: 0 tematów
Skąd: Krk - Biały Prądnik
|
Wysłany: Nie 15:01, 28 Sty 2007 Temat postu: |
|
|
no to ze takich pytan, jak w pierwszym poscie w typicu, nie bedzie to chyba nie jest rzecza odkrywcza :P to mialo raczej charakter ciekawostki niz czegos co warto wiedziec przed egzaminem.
natomiast jesli chodzi o pozostale programy ktore wkleilem to niektore rzeczy z tych programow moga sie pojawic na egzaminie (try catch w konstruktorze i to ze wyjatek mimo catcha jest rzucany dalej tez bylo jako ciekawostka..:P) i nie uwazam zeby to byly jakos bardzo wyszukane zagadnienia z c++
podobnie warto wiedziec ze pan Mrozek zrobil 2 bledy w programach dotyczacych obiektow chwilowych (lub ze wczesniejsze kompilatory inaczej dzialaly, ale raczej watpie)
Kod: |
#include <iostream>
using namespace std;
int f(int& i){
return i;
}
int g(){
return 0;
}
const int h(){
return 1;
}
int main(){
// obydwie linie sa zle!!!! a nie tylko pierwsza. bo zwracane sa obiekty chwilowe. musiloby byc f(const int &)
cout << f(g()) << "\n";
cout << f(h()) << "\n";
};
|
w wykladach bylo napisane ze pierwsza linia sie skompiluje co jest nieprawda (przynajmniej w wersji gcc ktora jest na virgo...)
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Pawel Str.
pijak
Dołączył: 06 Lut 2006
Posty: 429
Przeczytał: 0 tematów
Skąd: Ze starszego roku / Z Gorlic
|
Wysłany: Nie 15:07, 28 Sty 2007 Temat postu: |
|
|
Ludzie, nie zajmujecie się trochę za bardzo hardcorowymi zagadnieniami? Popatrzcie sobie spokojnie na te pytania przykładowe - widzicie tam AŻ TAKIE kawałki?
|
|
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 16:10, 28 Sty 2007 Temat postu: |
|
|
ja widze ze wam nizle odbija ;p wezcie se moze przeczytajcie egzaminy sprzed 3 , 2 i sprzed roku ;p bo jak sie ksupicie na glupotach to potem bedzie walek w stlu : "a co to jest garbecz kolektor? i gdzie to najpierw bylo ? " :P
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
mateo
pijak
Dołączył: 08 Mar 2006
Posty: 296
Przeczytał: 0 tematów
Skąd: Krk - Biały Prądnik
|
Wysłany: Nie 16:33, 28 Sty 2007 Temat postu: |
|
|
no ja pierdole ale wy kurwa macie problemy. nikt wam nie karze czytac tego topicu przeciez. napisalem ze ten pierwszy gowniany program to jest ciekawostka i po prostu bylem ciekaw czy ktos wapdnie jak go zrobic.
a jak kod w stylu:
Kod: |
template <typename T>
void fun(T a, T b)
{
}
int main()
{
const int a = 4;
int b;
// to zadzaiala , czemu????
fun(a, b);
// to nie dziala co juz jets raczej jasne
fun(&a, &b);
}
|
jest rzeczywiscie jakos strasznie przejebany i na bank nic podobnego na egzaminie sie nei ma prawa pojawic no to sorry... jak dla mnie to takie cos by sie moglo jak najbardziej pojawic. to samo jesli chodzi o pytanie o definiowanie funkjci zaprzyjaznionej wewnatrz klasy itp albo o kolejnosc wywowolywania operatorow przypisania...
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Stefan
pijak
Dołączył: 22 Lis 2005
Posty: 173
Przeczytał: 0 tematów
|
Wysłany: Nie 17:45, 28 Sty 2007 Temat postu: |
|
|
C++ nie jest "z d*** wzięty", tylko jest językiem bardzo rozbudowanym. Ogólne idee są jasne i proste, ale diabeł tkwi w szczegółach. Stąd wiele w nim "trików" i "hakerskich sztuczek", na których można zagiąć każdego - człowieka, który ileś tam lat programuje w C++, prof. Mrozka i pewnie samego Bjarne Stroustrupa. Jest sporo rzeczy "implementation defined", ale i sporo takich, które są zgodne ze standardem, a i tak powodują niezłe zdziwienie: jak choćby problem
gdy nie ma const w konstruktorze kopiującym klasy rok, czy (o zgrozo!) występujący na pytaniach w niektórych firmach myk:
Kod: |
#include <iostream>
using namespace std;
int main()
{
cout << 2["abc"] << endl;
}
|
Jest takich rzeczy pełno - niektóre są zaszłościami z C, niektóre są wynikiem wieloparadygmatowości języka C++ - łączenia np programowania obiektowego z generycznym, itp.
Jeśli ktoś chce mieć jasny i przejrzysty język, to niech pisze w (standardowym) Pascalu, choć i tak mało kto wie, że w Pascalu średnik daje się między instrukcjami, a nie po instrukcji. Ale jak się tylko zacznie dodawać do niego klasy, przeładowanie operatorów, itp to wszystko robi się skomplikowane i też pewnie można by wynaleźć pełno kruczków.
Można stać na stanowisku, że istnieje pewien poziom skomplikowania, gdzie programista ma wystarczający zbiór narzędzi, a wszystko to da się objąć. Tylko dlaczego do Javy dodano szablony? A i zapowiada się przeładowanie operatorów w niedalekiej przyszłości... Albo czemu nowy Delphi to taki C++, tyle że z begin i end?
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
jagm
zielony żul
Dołączył: 01 Lut 2006
Posty: 1421
Przeczytał: 0 tematów
|
Wysłany: Nie 18:37, 28 Sty 2007 Temat postu: |
|
|
Stefan napisał: | C++ nie jest "z d*** wzięty" |
Słusznie... ja bym tu żadnej dupy nie obrażał...
Stefan napisał: | Stąd wiele w nim "trików" i "hakerskich sztuczek", na których można zagiąć każdego - człowieka, który ileś tam lat programuje w C++, prof. Mrozka i pewnie samego Bjarne Stroustrupa. |
a czasem nawet sam kompilator
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Madras
Omylny Admin
Dołączył: 09 Lis 2005
Posty: 2021
Przeczytał: 0 tematów
Skąd: Z Pokoju :]
|
Wysłany: Nie 18:52, 28 Sty 2007 Temat postu: |
|
|
Nie... Pod *** jest emo ;].
|
|
Powrót do góry |
|
|
Zobacz poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
Yoter
zielony żul
Dołączył: 19 Lis 2005
Posty: 1033
Przeczytał: 0 tematów
Skąd: Gościeradów
|
Wysłany: Nie 23:27, 28 Sty 2007 Temat postu: |
|
|
oki może to i nie są szablony ale też zabawa konstruktorami... pytanie brzmi: czy poniższy kod się skompiluje? jeśli tak to co się pojawi na ekranie, jeśli nie to dlaczego (która linijka to spowoduje)? tylko proszę, nie przeklejajcie tak od razu bezczelnie kodu i nie próbujcie go kompilować tylko najpierw pomyślcie... będziecie mieć większą zabawę ;)
Kod: | #include <cstdlib>
#include <iostream>
using namespace std;
struct a{
a(){cout << '0' << endl;}
a(int i){cout << '1' << endl;}
a(float i){cout << '2' << endl;}
a(float x, float y=0){cout << '3' << endl;}
a(const a& aa){cout << '4' << endl;}
};
int main(){
a aa(aa);
a bb(true["djadh"],false["dsoapd"]);
a cc(true,false);
a dd(.0,.0);
a ee(*"isaj");
a ff(int);
a gg(a);
a hh();
a ii;
system("PAUSE");
}
|
|
|
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 23:48, 28 Sty 2007 Temat postu: |
|
|
Ktos jest w stanie wytlumaczyc jakim prawem to sie kompiluje? O_o
|
|
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
|