Język programowania C++

C++ jest językiem programowania ogólnego przeznaczenia wspierającym paradygmat imperatywny i obiektowy oraz programowanie generyczne.

Język C++ łączy w sobie niskopoziomowe programowanie dostosowane do konkretnych architektur komputerowych z programowaniem wysokopoziomowym, które może być zupełnie niezależne od specyfikacji urządzenia, na którym program jest uruchamiany.

C++ wywodzi się z imperatywnego języka C, a główną cechą odróżniającą go od swojego poprzednika jest wsparcie dla programowania obiektowego. Cecha ta sprawia, że C++ jest językiem wieloparadygmatowym. Istnieje wiele języków obiektowych, jednak C++ wyróżnia się na ich tle wydajnością - jest kompilowany do niskopoziomowego kodu, który możne być uruchamiany bezpośrednio przez procesor komputera.

Zalety C++:

  • Jest bardzo popularny, co zapewnia duże wsparcie. Rozwiązania wielu problemów programistycznych są dostarczane w bibliotekach lub można je znaleźć na forach internetowych.
  • Jest potężnym i wszechstronnym narzędziem znajdującym zastosowanie w wielu dziedzinach okołoprogramistycznych, włączając w to programowanie niskopoziomowe.
  • Jest przenośny.
  • Istnieją kompilatory C++ przeznaczone dla większości popularnych systemów operacyjnych.
  • Jest językiem kompilowanym do kodu maszynowego, więc często działa szybciej niż języki interpretowane czy kompilowane do kodu pośredniego.
  • Wiele języków programowania jest opartych na C/C++ (np. Java), więc znajomość C++ ułatwi zrozumienie tych języków.
  • Dostępnych jest wiele otwartych bibliotek.

Co odróżnia C++ od C:

  • C++ wspiera programowanie obiektowe.
  • C++ wspiera dziedziczenie i polimorfizm.
  • C++ umożliwia przeładowanie funkcji.
  • C++ zawiera słowo kluczowe class, ale zachowuje też struct z C (z kompatybilną semantyką).
  • C++ zapewnia kontrolę dostępu do elementów klasy.
  • C++ wspiera programowanie generyczne (za pomocą szablonów).
  • C++ wspiera przeładowanie operatorów.
  • W C++ operacja porównania zwraca typ bool, w C - int.
  • C++ umozliwia obsługę wyjątków.

Przykładowy kod


#include <iostream> 
using namespace std;

class Figura {
  protected:
    int dlugosc, wysokosc;
  public:
    Figura( int a=0, int b=0)
    {
      dlugosc = a;
      wysokosc = b;
    }
    virtual int pole()
    {
      cout << "Pole z klasy Figura :" <<endl;
      return 0;
    }
};
class Prostokat: public Figura{
  public:
    Prostokat( int a=0, int b=0):Figura(a, b) { }
    int pole ()
    { 
      cout << "Pole z klasy Prostokąt :" <<endl;
      return (wysokosc * dlugosc); 
    }
};
class Trojkat: public Figura{
  public:
    Trojkat( int a=0, int b=0):Figura(a, b) { }
    int pole ()
    { 
      cout << "Pole z klasy Trójkąt :" <<endl;
      return (dlugosc * wysokosc / 2); 
    }
};

int main( )
{
  Figura *figura;
  Prostokat prostokat(20,15);
  Trojkat trojkat(10,7);

  figura = &prostokat;
  cout << figura->pole() <<endl;

  figura = &trojkat;
  cout << figura->pole() <<endl;

  return 0;
}