Fiszki

Informatyka Stosowana

Test w formie fiszek egzamin, systemy operacyjne, Bazy danych, obrazy, programowanie, sieci
Ilość pytań: 156 Rozwiązywany: 4670 razy
Poziom optymalizacji, w którym kompilator będzie próbował zwiększyć wydajność kodu za cenę jego rozmiaru oraz czasu kompilacji
c) Poziom pierwszy (-O1) M
d) domyślny
a) Poziom 2 (-O2)
b) Poziom trzeci (-O3)
a) Poziom 2 (-O2)
Kompilator GCC przeprowadza najpierw:?
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.
b) optymalizację zależną, a następnie 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
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*/?
c) Uzna obie linie za poprawne składniowo, ale zgłosi błąd związany z naruszeniem reguł dostępu
b) Stwierdzi błąd w linii /*2*/: nie można znaleźć adresu pola, bez podania instancji klasy K.
Kod jest całkowicie poprawny.
a) Stwierdzi błąd składni w linii /*1*/ (niepoprawna konstrukcja).
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*/?
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.
b) Stwierdzi błąd składni w linii /*1*/ (niepoprawna konstrukcja).
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?
c) Wartość pola D w obiekcie obj zostanie ustawiona na 3.1415.
a) W linii /*1*/ 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*/.
d) W linii /*2*/ jest błąd składni, uniemożliwiający kompilację
d) W linii /*2*/ jest błąd składni, uniemożliwiający kompilację
Z definicją… klasy _nie_ wiąże się
a) zdefiniowanie nowego typu danych,
określenie wartości pól statycznych,
d) definiowanie rozmiarów i wewnętrznej struktury obiektów.
c) opis interakcji obiektów danej klasy z otoczeniem, M
określenie wartości pól statycznych,
Zadaniem konstruktora jest
a) przydzielenie pamięci dla obiektu,
b) nadanie wartości polom obiektu,
c) zintegrowanie obiektu z wywołaniami systemu operacyjnego,
d) logiczne powiązanie metod i pól.
b) nadanie wartości polom obiektu,
Uruchomienie destruktora na rzecz danego obiektu powoduje
b) wyczyszczenie obszaru danych zajmowanych przez ten obiekt, M
c) zwolnienie pamięci zajmowanej przez ten obiekt,
a) wykonanie procedury zdefiniowanej pod stosowną nazwą,
d) usunięcie informacji o obiekcie z globalnego rejestru obiektów.
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:
d) możliwa, jeżeli użyje się operatora zakresu (tj. '::').
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. '::').
W języku C++ dziedzicznie _nie_ obejmuje
d) wszystkich wymienionych w punktach a-c.
b) składowych o zakresie dostępności 'private',
a) składowych niestatycznych,
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:
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),
a) zwolnienie pamięci,
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?
a) K( const K & );
b) K( int, float = 0);
c) K( );
d) float operator();
b) K( int, float = 0);
Który z poniższych konstruktorów _nie_ jest konstruktorem konwertującym?
d) L( int = 0, int = 0 );
c) K( );
a) I( float );
b) J( int, float = 0);
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).
Complex operator ( K & );
b) Complex operator ();
a) operator Complex ();
c) operator Complex ( K );
a) operator Complex ();
Czy kompilator C++ generuje automatycznie operatory dla nowych typów danych?
a) Tak, każdy operator posiada swoją wersję domyślną.
c) Tak, ale tylko operatory: =, (), [], -&rt;.
b) Nie, każdy potrzebny operator musi był zdefiniowany.
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)?
d) operator !.
b) operator +,
a) operator [],
c) operator char *,
a) operator [],
3 Która z poniższych deklaracji jest niepoprawna. (Poniższe operatory są definiowane jako funkcje globalne.) class K;
d) K operator -- ( const K );
a) K operator - ( const K, const K );
b) K operator -- ( const K &, const K & ); M
c) K operator - ( const K & );
c) K operator - ( const K & );
Klasą abstrakcyjną jest klasa, która
c) posiada przynajmniej jedną metodę czysto wirtualną,
a) zawiera wyłącznie metody wirtualne,
b) zawiera przynajmniej jedną metodę wirtualną,
d) wszystkie metody wirtualne ma zadeklarowane jako czysto wirtualne.
c) posiada przynajmniej jedną metodę czysto wirtualną,
Jeżeli w klasie są zdefiniowane metody wirtualne, to
d) metody te mogą być wywoływane jedyne poprzez wskaźnik lub referencję do obiektu.
b) w klasach potomnych konieczne jest przeładowanie takich metod,
a) nie można utworzyć instancji tej klasy,
c) w klasach potomnych metody o identycznych sygnaturach także będą wirtualne,
c) w klasach potomnych metody o identycznych sygnaturach także będą wirtualne,
Termin "polimorfizm" (wielopostaciowość) odnosi się do
b) sposobu realizacji wywołania metody,
a) definicji klasy,
c) definicji metody,
d) techniki przekazywania obiektów (jako referencje lub wskaźniki).
b) sposobu realizacji wywołania metody,

Powiązane tematy

#ggios #egzamin

Inne tryby