Powtórzenie z programowania w C++
Klasy i obiekty
Pytania teoretyczne
Co to jest klasa i obiekt
Na czym polega ekapsulacja, dziedziczenie, hermetyzacja, polimorfizm
Jaki zakres ważności mają funkcje składowe klasy
Czy w klasie można stworzyć funkcję o takiej samej nazwie jak istniejąca funkcja globalna. Jak to się nazywa.
Jaka jest różnica pomiędzy definiowaniem funkcji składowej wewnątrz klasy, a definiowaniem tej samej funkcji poza klasą.
Co to są metody wirtualne i kiedy ma sens je wykorzystywać.
Co to jest konstruktor i destruktor jak i po co się je definiuje.
Dany jest przykład klasy:
class wizytowka
{
public:
char nazw; char imie; int wiek;
}
Zadeklarować i zdefiniować
funkcje składową wprowadz() w klasie wizytowka, umożliwiającą podanie wartości do pól klasy z klawiatury
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... ...............................................................................
...............................................................................
...............................................................................
obiekt klasy wizytowka i wywołać dla tego obiektu funkcję wprowadz()
.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
konstruktor inicjujący wartości (Kowalski, Jan, 21)
.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
polecenia w programie głównym umożliwiające wprowadzenie wartości do pól klasy z klawiatury
.......................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Które z podanych zdań jest fałszywe w stosunku do pojęcia metod wirtualnych:
są wykorzystywane dla funkcji które mają takie same nazwy, a znajdują się w różnych klasach
funkcja virtual zawsze zwraca jakiegoś typu dane
funkcja wirtualna może przekazywać parametry tak jak zwykła funkcja
Zadeklaruj trzy klasy ich pola według podanego schematu zachowując zasady dziedziczenia, dla każdej klasy zadeklaruj funkcję wprowadz():
Następnie zadeklaruj trzy obiekty: A z klasy Pojazd, B klasy Samochód, C z klasy Łódz.
Dla opisanych obiektów wywołaj funkcję wprowadz():
........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
....................................................................................
dla obiektu A wprowadz()z klasy Pojazd; .........................................................................
dla obiektu B wprowadz()z klasy Pojazd;
.........................................................................
dla obiektu B wprowadz()z klasy Samochod; .......................................................................
dla obiektu C wprowadz()z klasy Łodz;
.........................................................................
dla obiektu C wprowadz()z klasy Pojazd; .........................................................................
Co zostanie wyświetlone na ekranie po wykonaniu następujących instrukcji
#include <iostream>
#include <conio.h>
using namespace std;
class towary
{public:
char nazwa;
int ilosc;
virtual void podaj()
{
cout<< nazwa<<endl;
cout<< ilosc<<endl;
}
void wybierz()
{
podaj()
}
towary::towary():nazwa('kawa'),b(10){}
};
class towary_mag: public towary
{
public:
float cena;
virtual void podaj()
{
cout<< nazwa<<endl;
cout<< ilosc<<endl;
cout<< cena<<endl;
}
towary_mag:: towary_mag ():cena(17.12){}
};
int main()
{
towary x;
towary_mag y;
x.wybierz();
y.wybierz();
getch();
return(0);
}
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
1
2