Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### klasa vs struktura
- które stwierdzenie o klasie (class) i strukturze (struct) jest prawdziwe
- ~ klasa domyślnie (bez podania specyfikatora dostępu) ma wszystkie pola i metody prywatne, a struktura publicze;
- ~ klasa domyślnie (bez podania specyfikatora dostępu) ma wszystnie pola i metody publiczne, a struktura prywatne
- ~ klasa w przeciwieństwie do struktury może mieć metody
- ~ struktura w przeciwieństwie do klasy może mieć metody
- ### dziedziczenie - konstruktory
- Co wypisze po uruchomieniu poniższy program:
- include <iostream>
- class A {
- public A(int i) {std::cout << "A()\n";}
- };
- class B {
- public B() : A (1) {std::cout << "B()\n";}
- };
- int main(){
- B b;
- }
- ### dziedziczenie wielokrotne pól
- Co trzeba wpisać w [X], żeby
- ### deklaracja i wywołanie funkcji
- Zdeklarowana została funkcja C++:
- void f (int a, int b = 2, int c = 3);
- sposoby jej wywołania:
- 1) f();
- 2) f( 1 );
- 3) f(1,2);
- 4) f(1,2,3,4);
- 5) f(123);
- 6) f(1,2,3);
- ~ 1,2,3,5,6
- ~ 1,2,3,4,5,6
- ~ 1,2,3,6
- ~ 6
- ### deklaracja klas
- Uzupełnij [X] w kodzie:
- class zb {
- [X] e_zb {
- int el;
- e_zb* nast;
- e_zb (int m, e_zb* n) { el = ln; nast = n;};
- };
- e_zb* pierwszy;
- public:
- void ustaw() { pierwszy = 0; };
- void wstaw() { pierwszy = new e_zb(m, pierwszy);}
- };
- ~ struct
- ~ struct albo union
- ~ union albo class
- ~ class
- ### klasy kontenerowe
- Które stwierdzenie jest prawdziwe:
- ~ w bibliotece standardowych konterenrów iterator słuzy do iterowania nie tylko po elementach w std::vector;
- ~ w programie nie może istaniec równocześnie więcej niż jeden iterator dla jednego obiektu typu std::vector;
- ~ w bibliotece standardowych kontenerów iterator służy wyłączeni do iterowania po elementach w std::vector;
- ~ std::vector jest funcjonalnie obiektową wersją tablicy c++ dodającą kontrolę typów;
- ~ std::vector jest funkcjonalnie obiektowa wersją tablicy c++ bez kontroli typów
- ### deklaracja typów 1
- Co należy wpisać w miejsca oznaczone [X] i [Y] aby poniższy kod mógł się skompilować:
- class A {
- private: const [X] f = 1;
- public: [Y] b() {return f;}
- };
- int main() {
- A::b();
- }
- ~ [X] static int;
- [Y] static int;
- ~ static int
- int;
- ~ static int
- ### deklaracja typów 2
- Co należy wpisać w miejsca oznaczone [X] i [Y] aby poniższy kod mógł się skompilować:
- class A {
- private: const [X] f = 1;
- public: [Y] b() {return f;}
- };
- int main() {
- A a;
- A::b();
- a.b();
- }
- ~ Program nie skompiluje się.
- ~ A()
- ~ B()
- A()
- ~ A()
- B()
- ### ..... rzutowanie
- operator rzutowania dynamic_cast jest używany do rzutowania:
- ~ wskażźnika do klasy nadrzędnej w hierarchii dziediczenia na wskaźnik do typu pochodnego w sposób bezpieczny, przy czym klasa musi posiadać choć jedną metodą wirtualną lub wirtualny destruktor;
- ~ klasy nadrzędnej w hierarchii dziedziczenia na typ pochodzny przy czym klasa musi posisdać choć jedną metodę wirtualną;
- ### dealokacja tablicy
- co należy wpisać zamiast [X] w kodzie aby dokonać dealokacji alokowanej pamięci:
- int * i = new i[10]
- [X] i;
- ~ delete[]
- ~ delete[100]
- ~ free[]
- ~ free[100]
- ### dziedziczenie wielokrotne
- Co należy wpisać w miejsce X aby poniższy kod się skompilował:
- class A {
- public: void a(){};
- };
- class B {
- public: void a(){};
- };
- class C: public B,
- ### alokacja pamięci
- który z poniższych spososób alokacji talbicy o 100 elem typu float jest poprawy w języku c++ dla deklaracji int i = 100; float* ft;
- 1) ft = new float[100];
- 2) ft = (float*) malloc(sizeof(float)*100);
- 3) ft = (float*) malloc(sizeof(float*i));
- 4) ft = new float[sizeof(float)*100];
- 5) ft = new float[sizeof(float*100)];
- 6) ft = new float[i];
- ~ 1,2 i 6;
- ~ 1
- ~ 3 i 6
- ~ 2 i 3
- ### modyfikatory dostępu 1
- Co należy wpisać w miejsce oznaczone X aby ponizszy kod mógł się skompilować:
- struct A {
- X : int a;
- int b;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement