Test w formie fiszek egzamin, systemy operacyjne, Bazy danych, obrazy, programowanie, sieci
Ilość pytań: 156 Rozwiązywany: 5496 razy
Poziom optymalizacji, w którym kompilator będzie próbował zwiększyć wydajność kodu za cenę jego rozmiaru oraz czasu kompilacji
a) Poziom 2 (-O2)
d) domyślny
c) Poziom pierwszy (-O1) M
b) Poziom trzeci (-O3)
a) Poziom 2 (-O2)
Poziom optymalizacji, w którym kompilator będzie próbował zwiększyć wydajność kodu za cenę jego rozmiaru oraz czasu kompilacji
a) Poziom 2 (-O2)
d) domyślny
c) Poziom pierwszy (-O1) M
b) Poziom trzeci (-O3)
a) Poziom 2 (-O2)
Kompilator GCC przeprowadza najpierw:?
d) optymalizację niezależną od architektury, a następnie,jeśli użytkownik sobie tego zażyczy, optymalizację kodu pod konkretny procesor lub nawet model procesora
b) optymalizację zależną, a następnie niezależną od architektury
c) optymalizację niezależną od architektury, a następnie zależną od architektury
a) optymalizację określoną przez użytkownika, optymalizację kodu pod konkretny procesor lub nawet model procesora a potem niezależną od architektury.
d) optymalizację niezależną od architektury, a następnie,jeśli użytkownik sobie tego zażyczy, optymalizację kodu pod konkretny procesor lub nawet model procesora
Kompilator GCC przeprowadza najpierw:?
d) optymalizację niezależną od architektury, a następnie,jeśli użytkownik sobie tego zażyczy, optymalizację kodu pod konkretny procesor lub nawet model procesora
b) optymalizację zależną, a następnie niezależną od architektury
c) optymalizację niezależną od architektury, a następnie zależną od architektury
a) optymalizację określoną przez użytkownika, optymalizację kodu pod konkretny procesor lub nawet model procesora a potem niezależną od architektury.
d) optymalizację niezależną od architektury, a następnie,jeśli użytkownik sobie tego zażyczy, optymalizację kodu pod konkretny procesor lub nawet model procesora
1 Dany jest fragment kodu class K { double D; ... }; ... int main() { /*1*/ double K::* wd; /*2*/ wd = & K::D; } Jak zareaguje kompilator języka C++ przetwarzając kod z linii oznaczonych /*1*/ i /*2*/?
Kod jest całkowicie poprawny.
a) Stwierdzi błąd składni w linii /*1*/ (niepoprawna konstrukcja).
b) Stwierdzi błąd w linii /*2*/: nie można znaleźć adresu pola, bez podania instancji klasy K.
c) Uzna obie linie za poprawne składniowo, ale zgłosi błąd związany z naruszeniem reguł dostępu
c) Uzna obie linie za poprawne składniowo, ale zgłosi błąd związany z naruszeniem reguł dostępu
1 Dany jest fragment kodu class K { double D; ... }; ... int main() { /*1*/ double K::* wd; /*2*/ wd = & K::D; } Jak zareaguje kompilator języka C++ przetwarzając kod z linii oznaczonych /*1*/ i /*2*/?
Kod jest całkowicie poprawny.
a) Stwierdzi błąd składni w linii /*1*/ (niepoprawna konstrukcja).
b) Stwierdzi błąd w linii /*2*/: nie można znaleźć adresu pola, bez podania instancji klasy K.
c) Uzna obie linie za poprawne składniowo, ale zgłosi błąd związany z naruszeniem reguł dostępu
c) Uzna obie linie za poprawne składniowo, ale zgłosi błąd związany z naruszeniem reguł dostępu
Dany jest fragment kodu class K { public: double D; ... }; ... int main ( ) /*1*/ double K::* wd; /*2*/ wd = NULL; } Jak zareaguje kompilator języka C++ przetwarzając kod z linii oznaczonych /*1*/ i /*2*/?
b) Stwierdzi błąd składni w linii /*1*/ (niepoprawna konstrukcja).
d) Zaakceptuje linię /*1*/, ale w linii /*2*/ odmów przypisania wskaźnikowi do składowej wartości NULL.
a) Kod jest całkowicie poprawny.
c) Uzna obie linie za poprawne składniowo, ale zgłosi błąd związany z naruszeniem reguł dostępu.
a) Kod jest całkowicie poprawny.
Dany jest fragment kodu class K { public: double D; ... }; ... int main ( ) /*1*/ double K::* wd; /*2*/ wd = NULL; } Jak zareaguje kompilator języka C++ przetwarzając kod z linii oznaczonych /*1*/ i /*2*/?
b) Stwierdzi błąd składni w linii /*1*/ (niepoprawna konstrukcja).
d) Zaakceptuje linię /*1*/, ale w linii /*2*/ odmów przypisania wskaźnikowi do składowej wartości NULL.
a) Kod jest całkowicie poprawny.
c) Uzna obie linie za poprawne składniowo, ale zgłosi błąd związany z naruszeniem reguł dostępu.
a) Kod jest całkowicie poprawny.
Dany jest fragment kodu class K { public : double D; ... }; ... int main() { K obj; /*1*/ double K::* wd = & K::D; /*2*/ obj-&rt;*wd = 3.1415; } Czy można wykonać operację z linii oznaczonej jako /*2*/? Jeżeli tak, to jaka jest jej semantyka?
a) W linii /*1*/ jest błąd składni, uniemożliwiający kompilację
d) W linii /*2*/ jest błąd składni, uniemożliwiający kompilację
b) Program da się skompilować, ale operacja z linii /*1*/ uniemożliwi przejście do linii /*2*/.
c) Wartość pola D w obiekcie obj zostanie ustawiona na 3.1415.
d) W linii /*2*/ jest błąd składni, uniemożliwiający kompilację
Dany jest fragment kodu class K { public : double D; ... }; ... int main() { K obj; /*1*/ double K::* wd = & K::D; /*2*/ obj-&rt;*wd = 3.1415; } Czy można wykonać operację z linii oznaczonej jako /*2*/? Jeżeli tak, to jaka jest jej semantyka?
a) W linii /*1*/ jest błąd składni, uniemożliwiający kompilację
d) W linii /*2*/ jest błąd składni, uniemożliwiający kompilację
b) Program da się skompilować, ale operacja z linii /*1*/ uniemożliwi przejście do linii /*2*/.
c) Wartość pola D w obiekcie obj zostanie ustawiona na 3.1415.
d) W linii /*2*/ jest błąd składni, uniemożliwiający kompilację
Z definicją… klasy _nie_ wiąże się
określenie wartości pól statycznych,
c) opis interakcji obiektów danej klasy z otoczeniem, M
a) zdefiniowanie nowego typu danych,
d) definiowanie rozmiarów i wewnętrznej struktury obiektów.
określenie wartości pól statycznych,
Z definicją… klasy _nie_ wiąże się
określenie wartości pól statycznych,
c) opis interakcji obiektów danej klasy z otoczeniem, M
a) zdefiniowanie nowego typu danych,
d) definiowanie rozmiarów i wewnętrznej struktury obiektów.
określenie wartości pól statycznych,
Zadaniem konstruktora jest
b) nadanie wartości polom obiektu,
d) logiczne powiązanie metod i pól.
c) zintegrowanie obiektu z wywołaniami systemu operacyjnego,
a) przydzielenie pamięci dla obiektu,
b) nadanie wartości polom obiektu,
Zadaniem konstruktora jest
b) nadanie wartości polom obiektu,
d) logiczne powiązanie metod i pól.
c) zintegrowanie obiektu z wywołaniami systemu operacyjnego,
a) przydzielenie pamięci dla obiektu,
b) nadanie wartości polom obiektu,
Uruchomienie destruktora na rzecz danego obiektu powoduje
a) wykonanie procedury zdefiniowanej pod stosowną nazwą,
d) usunięcie informacji o obiekcie z globalnego rejestru obiektów.
c) zwolnienie pamięci zajmowanej przez ten obiekt,
b) wyczyszczenie obszaru danych zajmowanych przez ten obiekt, M
a) wykonanie procedury zdefiniowanej pod stosowną nazwą,
Uruchomienie destruktora na rzecz danego obiektu powoduje
a) wykonanie procedury zdefiniowanej pod stosowną nazwą,
d) usunięcie informacji o obiekcie z globalnego rejestru obiektów.
c) zwolnienie pamięci zajmowanej przez ten obiekt,
b) wyczyszczenie obszaru danych zajmowanych przez ten obiekt, M
a) wykonanie procedury zdefiniowanej pod stosowną nazwą,
Dane są następujące definicje klas i obiektu Obj: class B { protecetd : Complex val; }; class P : private B { public : double val; }; P Obj; W obiekcie Obj zmiana zawartości składowej val, odziedziczonego po klasie B (czyli będącej typu Complex) jest:
b) niemożliwa ze względu na dziedziczenie typu 'private'
c) możliwa, jeżeli tylko użyje się wartości odpowiedniego typu (czyli Complex),
a) niemożliwa, ze względu na zakres 'protected', M
d) możliwa, jeżeli użyje się operatora zakresu (tj. '::').
d) możliwa, jeżeli użyje się operatora zakresu (tj. '::').
Dane są następujące definicje klas i obiektu Obj: class B { protecetd : Complex val; }; class P : private B { public : double val; }; P Obj; W obiekcie Obj zmiana zawartości składowej val, odziedziczonego po klasie B (czyli będącej typu Complex) jest:
b) niemożliwa ze względu na dziedziczenie typu 'private'
c) możliwa, jeżeli tylko użyje się wartości odpowiedniego typu (czyli Complex),
a) niemożliwa, ze względu na zakres 'protected', M
d) możliwa, jeżeli użyje się operatora zakresu (tj. '::').
d) możliwa, jeżeli użyje się operatora zakresu (tj. '::').
W języku C++ dziedzicznie _nie_ obejmuje
a) składowych niestatycznych,
b) składowych o zakresie dostępności 'private',
d) wszystkich wymienionych w punktach a-c.
operatora przypisania,
operatora przypisania,
W języku C++ dziedzicznie _nie_ obejmuje
a) składowych niestatycznych,
b) składowych o zakresie dostępności 'private',
d) wszystkich wymienionych w punktach a-c.
operatora przypisania,
operatora przypisania,
Niech klasa K dziedziczy po klasie SuperK, a Obj jest obiektem typu K. Wywołanie destruktora obiektu Obj w pierwszej kolejnoĹ›ci wykona:
a) zwolnienie pamięci,
b) wywołanie destruktorów dla poszczególnych składowych odziedziczonych po klasie SuperK,
c) wywołanie poszczególnych destruktorów dla niestatycznych składowych własnych (nieodziedziczonych),
d) wywołanie poszczególnych destruktorów dla statycznych składowych własnych (nieodziedziczonych).
c) wywołanie poszczególnych destruktorów dla niestatycznych składowych własnych (nieodziedziczonych),
Niech klasa K dziedziczy po klasie SuperK, a Obj jest obiektem typu K. Wywołanie destruktora obiektu Obj w pierwszej kolejnoĹ›ci wykona:
a) zwolnienie pamięci,
b) wywołanie destruktorów dla poszczególnych składowych odziedziczonych po klasie SuperK,
c) wywołanie poszczególnych destruktorów dla niestatycznych składowych własnych (nieodziedziczonych),
d) wywołanie poszczególnych destruktorów dla statycznych składowych własnych (nieodziedziczonych).
c) wywołanie poszczególnych destruktorów dla niestatycznych składowych własnych (nieodziedziczonych),
Dane są deklaracje metod klasy K. Która z nich jest konstruktorem konwertującym?
d) float operator();
a) K( const K & );
c) K( );
b) K( int, float = 0);
b) K( int, float = 0);
Dane są deklaracje metod klasy K. Która z nich jest konstruktorem konwertującym?
d) float operator();
a) K( const K & );
c) K( );
b) K( int, float = 0);
b) K( int, float = 0);
Który z poniższych konstruktorów _nie_ jest konstruktorem konwertującym?
d) L( int = 0, int = 0 );
b) J( int, float = 0);
a) I( float );
c) K( );
c) K( );
Który z poniższych konstruktorów _nie_ jest konstruktorem konwertującym?
d) L( int = 0, int = 0 );
b) J( int, float = 0);
a) I( float );
c) K( );
c) K( );
Potrzebna jest konwersja z klasy K na klasę Complex. Która z poniższych deklaracji jest poprawną deklaracją operatora konwersji? (Deklaracje dotyczą metod klasy K).
c) operator Complex ( K );
Complex operator ( K & );
b) Complex operator ();
a) operator Complex ();
a) operator Complex ();
Potrzebna jest konwersja z klasy K na klasę Complex. Która z poniższych deklaracji jest poprawną deklaracją operatora konwersji? (Deklaracje dotyczą metod klasy K).
c) operator Complex ( K );
Complex operator ( K & );
b) Complex operator ();
a) operator Complex ();
a) operator Complex ();
Czy kompilator C++ generuje automatycznie operatory dla nowych typów danych?
b) Nie, każdy potrzebny operator musi był zdefiniowany.
c) Tak, ale tylko operatory: =, (), [], -&rt;.
a) Tak, każdy operator posiada swoją wersję domyślną.
d) Nie, poza pięcioma operatorami, w tym: =, &, delete
d) Nie, poza pięcioma operatorami, w tym: =, &, delete
Czy kompilator C++ generuje automatycznie operatory dla nowych typów danych?
b) Nie, każdy potrzebny operator musi był zdefiniowany.
c) Tak, ale tylko operatory: =, (), [], -&rt;.
a) Tak, każdy operator posiada swoją wersję domyślną.
d) Nie, poza pięcioma operatorami, w tym: =, &, delete
d) Nie, poza pięcioma operatorami, w tym: =, &, delete
2 Które z wymienionych operatorów muszą być definiowane jako metody (funkcje wewnętrzne klasy)?
c) operator char *,
a) operator [],
d) operator !.
b) operator +,
a) operator [],
2 Które z wymienionych operatorów muszą być definiowane jako metody (funkcje wewnętrzne klasy)?
c) operator char *,
a) operator [],
d) operator !.
b) operator +,
a) operator [],
3 Która z poniższych deklaracji jest niepoprawna. (Poniższe operatory są definiowane jako funkcje globalne.) class K;
c) K operator - ( const K & );
a) K operator - ( const K, const K );
d) K operator -- ( const K );
b) K operator -- ( const K &, const K & ); M
c) K operator - ( const K & );
3 Która z poniższych deklaracji jest niepoprawna. (Poniższe operatory są definiowane jako funkcje globalne.) class K;
c) K operator - ( const K & );
a) K operator - ( const K, const K );
d) K operator -- ( const K );
b) K operator -- ( const K &, const K & ); M
c) K operator - ( const K & );
Klasą abstrakcyjną jest klasa, która
b) zawiera przynajmniej jedną metodę wirtualną,
a) zawiera wyłącznie metody wirtualne,
d) wszystkie metody wirtualne ma zadeklarowane jako czysto wirtualne.
c) posiada przynajmniej jedną metodę czysto wirtualną,
c) posiada przynajmniej jedną metodę czysto wirtualną,
Klasą abstrakcyjną jest klasa, która
b) zawiera przynajmniej jedną metodę wirtualną,
a) zawiera wyłącznie metody wirtualne,
d) wszystkie metody wirtualne ma zadeklarowane jako czysto wirtualne.
c) posiada przynajmniej jedną metodę czysto wirtualną,
c) posiada przynajmniej jedną metodę czysto wirtualną,
Jeżeli w klasie są zdefiniowane metody wirtualne, to
c) w klasach potomnych metody o identycznych sygnaturach także będą wirtualne,
a) nie można utworzyć instancji tej klasy,
b) w klasach potomnych konieczne jest przeładowanie takich metod,
d) metody te mogą być wywoływane jedyne poprzez wskaźnik lub referencję do obiektu.
c) w klasach potomnych metody o identycznych sygnaturach także będą wirtualne,
Jeżeli w klasie są zdefiniowane metody wirtualne, to
c) w klasach potomnych metody o identycznych sygnaturach także będą wirtualne,
a) nie można utworzyć instancji tej klasy,
b) w klasach potomnych konieczne jest przeładowanie takich metod,
d) metody te mogą być wywoływane jedyne poprzez wskaźnik lub referencję do obiektu.
c) w klasach potomnych metody o identycznych sygnaturach także będą wirtualne,
Termin "polimorfizm" (wielopostaciowość) odnosi się do
a) definicji klasy,
b) sposobu realizacji wywołania metody,
d) techniki przekazywania obiektów (jako referencje lub wskaźniki).
c) definicji metody,
b) sposobu realizacji wywołania metody,
Termin "polimorfizm" (wielopostaciowość) odnosi się do
a) definicji klasy,
b) sposobu realizacji wywołania metody,
d) techniki przekazywania obiektów (jako referencje lub wskaźniki).