Nazwisko: grupa:
Zdefiniuj klase z składnikami prywatnymi int x, y. Zdefiuj funkcje składową ( publiczną) ustawiającą wartości tych elementów klasy. Jeżeli wykonanie nie jest możliwe proszę napisać dlaczego.
2. class punkt {
int x, y ;
public:
punkt (int i=0; int j=0);
punkt (const punkt &);
punkt & operator =(const punkt &);
friend punkt operator +(const punkt & a, const punkt & b);
friend punkt operator -(const punkt & a, const punkt & b);
operator +=…..
Poza ciałem klasy zdefiniuj:
konstruktory obliczeniowe dla funkcji operator - operator + optymalizujące zwracanie wartości obiektu typu punkt w funkcjach. Czy te konstruktory obliczeniowe mogą być prywatne?
zdefiniuj funkcje operator += friend
..........operator<< .......... ;
4. Zdefiniuj szablon do tworzenia tablic dynamicznych.
a) Zdefiniuj konstruktor, destruktor oraz funkcje szukania maksimum w tablicy. Napisz funkcje operatorową [ ] .
b) Zdefiniuj klasę specjalizowaną dla typu char * (nie definiować funkcji składowych , tylko deklaracje)
5. Zdefiniuj wskaźnik ,który może pokazywać na elementy typu int tylko i wyłącznie zawarte w klasie
Zdefiniuj wskaźnik ,który może pokazywać na funkcje składową int *fun (int ) (tylko i wyłącznie na tą funkcję) zawartą w klasie A
Class A{
public:
int a;
char b;
//.........
int *fun (int )
};
Zainicjalizuj wskaźniki.
6. Zdefiniuj klasę punkt z :
z prywatnym składnikiem statycznym _liczba obiektów:
publiczną funkcję statyczną zwracającą wartość składnika statycznego (czym się charakteryzuje)
Zadeklaruj obiekt, wskaźnik do obiektu i napisz wszystkie możliwe wywołania (dostępu do) składnika statycznego i funkcji statycznej.
7. Dany jest wzorzec
template <class T>
class macierz
{
T *wsk;
int m, n;
public:
macierz(int i, int j);
macierz(const macierz &r);
macierz(T k);
~macierz();
macierz & operator =(const macierz &r);
.............
...............
};
int main()
{
macierz<float> a(3, 3), b(2, 2), c(2, 2);
cout << a[2][1];
return 0;
}
Niech klasy X i Y będą zdefiniowane
class X
{
public:
virtual f(void);
f1(void);
}, x, *px;
class Y: public X
{
public:
virtual f(void);
f1(void);
}, y, *py;
Dany jest fragment programu:
px=&Y;
px->f();
px->f1();
Które funkcje są wywoływane w powyższym fragmencie programu.