[c++] podstawy

Luźne dyskusje "bardzo sztywnych webmasterów", prowadzone na rózne tematy, mogą być dalece odbiegłe od webmasterstwa. Możemy w końcu udowodnić, że webmaster to także zwykły człowiek i pogadać też potrafi :)
MASS
Posty: 1
Rejestracja: śr lut 04, 2004 5:29 pm

[c++] podstawy

Post autor: MASS »

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 ;-(
Maciej Skrobiński
Nowy
Nowy
Posty: 50
Rejestracja: czw sty 08, 2004 8:30 pm
Lokalizacja: Jelenia Góra
Kontakt:

Re: [c++] podstawy

Post autor: Maciej Skrobiński »

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
wixor
Przelotem
Przelotem
Posty: 336
Rejestracja: śr gru 31, 2003 10:18 pm
Lokalizacja: Wrocław

Re: [c++] podstawy

Post autor: wixor »

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.
Deklaracja funkcji informuje kompilator, jaką zwróci wartość oraz jaką nazwę ma funkcja.
Definicja funkcji informuje kompilator jak funkcja działa.
Co do konstruktorów i destruktorów:

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
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.
ODPOWIEDZ