Krótkie wprowadzenie do języka C++ – co to takiego?

C++ jest językiem programowania wysokiego poziomu trzeciej generacji ogólnego przeznaczenia. Został zaprojektowany przez Bjarne’a Stroustrupa, w latach osiemdziesiątych XX wieku (pierwsza wersja pojawiła się w 1979 r.), jako rozszerzenie języka C, o obiektowe mechanizmy abstrakcji danych i silną statyczną kontrolę typów. Jest jezdnym z najpopularniejszych języków programowania m.in. dlatego że jest spójny i logiczny. Zachowanie zgodności z językiem C na poziomie kodu źródłowego pozostaje jednym z podstawowych celów projektowych kolejnych standardów języka. Od 1998 obowiązuje standard ISO/IEC 14882:1998 (Standard for the C++ Programming Language) z drobnymi poprawkami zatwierdzonymi w 2003 r. (ISO/IEC 14882:2003). W 2009 roku ogłoszono, że nowy standard (tzw. C++0x) zacznie obowiązywać nie wcześniej niż w 2010 rok. Większość użytecznych programów w C++ wymaga stosowania bibliotek niestandardowych. Programy napisane w C++ mogą korzystać również z zasobów bibliotek języka C. Sama nazwa C++ jest więc symbolicznym stwierdzeniem, iż jest to język C, unowocześniony, o znacznie większych możliwościach.
Własności języka C++:

  • Język C++ jest językiem wieloparadygmatowym. Oznacza to, ze można w nim stosować jednocześnie różne style programowania, w tym programowanie proceduralne, obiektowe, generyczne, jak również programować na poziomie asemblera.
  • Język C++ zakłada statyczną kontrolę typów; posiada też elementy dynamicznej kontroli typów.
  • Język C++ umożliwia bezpośrednie zarządzanie wolną pamięcią.
  • Projekt języka zakłada, że żadna nowa (względem języka C) cecha języka C++ nie może mieć negatywnego wpływu na szybkość działania programu lub zapotrzebowanie na pamięć operacyjną. Dzięki temu dobrze napisany program w C++ jest z reguły co najmniej równie szybki, jak jego odpowiednik napisany w C; co więcej, dzięki możliwości zastosowania algorytmów generycznych w wielu przypadkach C++ jest wyraźnie szybszy od C (np. podczas sortowania).
  • Język C++ ze względu na bardzo rozbudowaną składnię oraz surowe wymogi w zakresie wydajności kodu stanowi duże wyzwanie dla twórców kompilatorów.
  • Do dziś (2010) żaden popularny kompilator nie jest w pełni zgodny z obowiązującym standardem języka.

Nowe cechy języka C++ względem języka ANSI C z 1989 roku

  • Możliwość programowania obiektowego:
  • Mechanizmy enkapsulacji:
  1. Klasy,
  2. Obiekty,
  3. Dziedziczenie
  4. Konstruktory, destruktory
  5. Operatory new i delete
  6. Dynamiczna kontrola typów (RTTI)
  7. Wskaźniki
  8. Metody i pola statyczne
  • Udogodnienia związane z programowaniem generycznym:
  1. Szablony (wzorce) klas i funkcji
  2. Włączenie do biblioteki standardowej generycznej biblioteki STL
  • Obsługa wyjątków.
  • oraz inne zmiany natury ogólnej (np. referencje ,przestrzenie nazw, etc.)


Przykładowy program

#include <iostream>
using namespace std;
void main()
{
cout << “Hello world\n”;
}

Programowanie techniką obiektową orientowaną
Niewątpliwie największą zaletą języka C++ są obiekty, oraz klasy. Jak mówi Jerzy Grębosz w Symfonii technika programowania obiektowo orientowanego polega na zmianie sposobu myślenia o programowaniu. Przykładowo można wyjaśnić to tak, że programując korzystamy z dziesiątek zmiennych rozrzuconych po całym programie. W ujęciu obiektowo orientowanym wygląda to w ten sposób, że buduje się małe i większe modele obiektów świata realnego, po czym wyposaża się je w zachowania i pozwala się im działać.

Klasa w C++
class name{
static const int N=10;
enum DATA{ X, Y, Z};
DATA type;
int i;
char n;
public:
void wypisz();
int zwroc();
};

pdf

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s