Siemka Ludzie, pomocy, mam egzamin z C++ , i nic z niego nie czaje, oto kilka pytań:
- Co to jest konstruktor/destruktor?
- Czym różni się deklaracja funkcji od definicji funkcji?
- Wymień podstawowe typy danych w jezyku C++?
- Opisz w jaki sposob w jezyku C++ tworzy sie program ktory działa z argumentami wywołania?
- Opisz strukturą programu C++
Kto wie gdzie to znaleśc, lub moze ktos zna odpowiedzi.
BŁAGAM o POMOC ;-(
[c++] podstawy
-
Maciej Skrobiński
- Nowy

- Posty: 50
- Rejestracja: czw sty 08, 2004 8:30 pm
- Lokalizacja: Jelenia Góra
- Kontakt:
Re: [c++] podstawy
Najprościej jak można powiedzieć to konstruktor powoduje przydzielenie pamięci dla klasy, destruktor powoduje odwrotne działanie, czyli zwolnienie pamięci.
Deklaracja funkcji informuje kompilator, jaką zwróci wartość oraz jaką nazwę ma funkcja.
Definicja funkcji informuje kompilator jak funkcja działa.
Typy danych w C++:
char - typ znakowy
int - typ całkowity
float - typ zmiennoprzecinkowy
double - typ zmiennoprzecinkowy
void - typ pusty
Deklaracja funkcji informuje kompilator, jaką zwróci wartość oraz jaką nazwę ma funkcja.
Definicja funkcji informuje kompilator jak funkcja działa.
Typy danych w C++:
char - typ znakowy
int - typ całkowity
float - typ zmiennoprzecinkowy
double - typ zmiennoprzecinkowy
void - typ pusty
Re: [c++] podstawy
Typy danych (wersja pełna):
W języku C/C++ wszystkie dane są liczbami.
char - 1 bajt ze znakiem (+ / -)
short - 2 bajty ze znakiem (+ / -)
int - 4 bajty ze znakiem (+ / -)
long int - 8 bajtów ze znakiem (+ / -)
float - 4 bajty, liczba zmiennoprzecinkowa ze znakiem (+ / -)
double - 8 bajtów, liczba zmiennoprzecinkowa ze znakiem (+ / -)
long double -10 bajtów, liczba zmiennoprzecinkowa ze znakiem (+ / -)
unsigned char - 1 bajt bez znaku
unsigned short - 2 bajty bez znaku
unsigned int - 4 bajty bez znaku
unsigned long int - 8 bajtów bez znaku.
Ponadto do każdego typu można utworzyć wskaźnik. Jest on wtedy postaci:
<nazwa typu>*, np. int*
Istnieje też wskaźnik nie wskazujący na dane żadnego typu, lecz na miejsce w pamięci. Jest on postaci void*. Jest to jedyny rodzaj wskaźnika na którym nie można wykonywać operacji arytmetycznych.
Jeżeli klasa nie zdefiniuje konstruktora bezparametrowego, jest tworzony konstruktor domyślny który nie robi nic. Analogicznie dla destruktorów. Uwaga: konstruktor jest wywoływany po utworzeniu obiektu a deskruktor przed jego unicestwieniem.
W języku C/C++ wszystkie dane są liczbami.
char - 1 bajt ze znakiem (+ / -)
short - 2 bajty ze znakiem (+ / -)
int - 4 bajty ze znakiem (+ / -)
long int - 8 bajtów ze znakiem (+ / -)
float - 4 bajty, liczba zmiennoprzecinkowa ze znakiem (+ / -)
double - 8 bajtów, liczba zmiennoprzecinkowa ze znakiem (+ / -)
long double -10 bajtów, liczba zmiennoprzecinkowa ze znakiem (+ / -)
unsigned char - 1 bajt bez znaku
unsigned short - 2 bajty bez znaku
unsigned int - 4 bajty bez znaku
unsigned long int - 8 bajtów bez znaku.
Ponadto do każdego typu można utworzyć wskaźnik. Jest on wtedy postaci:
<nazwa typu>*, np. int*
Istnieje też wskaźnik nie wskazujący na dane żadnego typu, lecz na miejsce w pamięci. Jest on postaci void*. Jest to jedyny rodzaj wskaźnika na którym nie można wykonywać operacji arytmetycznych.
Co do konstruktorów i destruktorów:Deklaracja funkcji informuje kompilator, jaką zwróci wartość oraz jaką nazwę ma funkcja.
Definicja funkcji informuje kompilator jak funkcja działa.
Kod: Zaznacz cały
class Klasa
{
Klasa(unsigned int a);
~Klasa(void);
};
Klasa *k;
Klasa l; //W tym momencie jest wywoływany konstruktor bez parametrów
k = new Klasa(0xBAC0DE); //W tym momencie jest wywoływany konstruktor z parametrem 0xBAC0DE
delete k; //W tym momencie wywoływany jest destruktor