Академический Документы
Профессиональный Документы
Культура Документы
1. kolokvij
20. svibanj 2002. 1. Oznaite neispravne deklaracije funkcija: a) void fn1(char* str, int x=0, int y=0); b) void fn2(int x=0, int y=0, char* str); 2. Za zadani prototip funkcije:
void fn3(double a, double b, int ax=0, int ay=0);
oznaite neispravne pozive: a) fn3(2.5, 3.0, , 5); b) fn3(0, 5); c) fn3(10.9, 7, 3); 3. to ispisuje sljedei program:
#include <iostream> int v = 10; int &a = v; int main() { using namespace std; a += 10; v -= 5; cout << v+a << endl; return 0; }
4. Oznaite sintaksno neispravne definicije funkcija: a) void inc(int i) { i++; } b) void inc(int* i) { (*i)++; } c) void inc(int& i) { i++; } d) void inc(const int& i) { i++; } 5. Neka je zadana klasa A:
class A { public: A(int a, int b) : a(a), b(b) {} protected: int a, b; };
Napiite klasu B koja je izvedena iz klase A i sadri public funkciju koja vraa umnoak lanova a i b. 6. to ispisuje sljedei program:
#include <iostream> using namespace std; class A { int a; public: A(int a) : a(a) { cout << "A" << endl;} ~A(){ cout << "~A" << endl; } }; class B: public A { public: B(int a) : A(a) { cout << "B" << endl;} ~B(){ cout << "~B" << endl; } };
class D: public A { public: D(int a) : A(a) { cout << "D" << endl;} ~D(){ cout << "~D" << endl; } }; class C { D d; B b; public: C() : b(1), d(1) { cout << "C" << endl;} ~C(){ cout << "~C" << endl;} }; int main() { C c; }
Rjeenja
1. b) 2. a) 3.
30
4. d) 5.
class B : public A { public: B(int a, int b) : A(a, b){}: int umn() { return a*b; } };
6.
A D A B C ~C ~B ~A ~D ~A
7.
void A::fa() { f(*this); }
8.
AAA AA ~A~A~A
9.
A<B~B>~A
10.
B* pb = &a; B& rb = a;