C++

C++ est altioris gradus lingua programmationis quam annis 1980s Bjarne Stroustrup e lingua C creavit. Hac cum lingua obiecta spectante programmata contortuliora modo generaliori faciliorique scribi et compilari possunt, et, ob originem in C, omnia programmata C paene sine mutatione in C++ compilari etiam possunt.

 Salve, munde! 
Hic textus monstrat programma minimum, quod "Salve, munde!" in monitorium mittit.
// quod iussum obiectum std::cout praebet
#include <iostream>

int main()
{
   std::cout << "Salve, munde!" << std::endl;
}

 Historia 
Stroustrup, cum apud Societatis AT&T Bell Laboratoria laborare coeperet, problema datur ut nucleus UNIX respectu computationis distributatae aestimet. Experientia eius studiorum PhD memoria tenente, Stroustrup linguam C adiunctis linguae Simulae meliorare proficiscitur. C selegit propterea quod ad omnia adhiberi potest, celeris portabilisque est, et in usu commni erat. Etiam eo tempore animatus erat ab linguis ALGOL 68, Ada, CLU et ML. 

Annos postquam linguam primum elaborare incepit, anno 1998 norma linguae C++ sancta est designatione ISO/IEC 14882:1998. Illa norma usque hodie vim habet, sed enmendata est anno 2003 ab Corrigendo Technico ISO/IEC 14882:2003 designatio. Proxima versio normalis affabiliter C++0x nuncupata usque hodie elaboratur. 

 Natura 
C++ plurimam linguae C syntaxim et praeprocessorium accepit. Lingua autem undecim res additionales praebet quae laborem programmatorum meliorant:
 Dictum //, quo post  in singula linea possumus reddere commentationes
 Dictum const, quo constantes alphanumerici definiri possunt
 Dictum inline, quo functiones singulae lineae definiri possunt
 Declarationes quae ubique possunt poni
 Referentias et operatorem referentialem &
 new et delete, quae facile sinunt variabilium memoriam allocare et deallocare  
 Obiectorum usum lingua re vera sustinet, classes veras praebens, quibus programmatores possunt definire nova genera variabilium programmatis aptorum, et functiones eorum (quae methodi appellantur).
 Constructores, destructores, operatores, methodosque a programmatoribus definitas
 Incapsulationem, ubi dictis private, public, protected programmatores possunt decernere  variabiles secretos et methodos  quibus hi variabiles  legi,  adhiberi vel commutari possint, 
 Hereditatem, ubi novae classes possunt heriditare variabiles et functiones ex classe antea definita
 Superpositiones (Anglice Overloading) operatorum mathematicorum et aliorum functionum, ubi programma continue decernit methodum applicabilem iuxta datum variabilium genus

 Classes et obiecta 
C++ ad C syntaxim linguarum obiecta spectantium introduxit. Classibus cum definiuntur praebentur : abstractio, incapsulatio, hereditas, polymorphismus, et superpositio. Classis ita cogitari potest ut forma ex qua obiecta individua cudantur cum programma operatur. Classis definita idem ac int aut float in programmate fungit, et obiecta declarata idem ac variabiles huius classis. Classes igitur sinunt programmatores omnino nova genera variabilium definire et adhibere quae similia sunt int, float, etc.

Exemplum programmatis infra datum monstrat syntaxim qua classes declaruntur, et quo modo obiecta adhibentur in parte principali programmatis main().

#include <iostream>
#include <cstring>
using namespace std;

class persona
{
public: //haec data et functiones publice commutari et haberi possunt
 string nomen;
 int aetasData();

 persona();
private: //haec data et functiones sola per methodos huius classis commutari et haveri possunt
 int annusPraesens = 2013;
 int annusNatalis;
 int aetas;
 void aetatemPonere();
};

void persona::aetatemPonere() //Sola hac methodo aetas personae poni potest
{
cout<<"Quo anno natus est?";
cin>>annusNatalis;
aetas= 2013-annusNatalis;
}

int persona::aetasData() //Sola hac methodo aetas personae dari potest
{
return aetas;
}

persona::persona() //Hic est classis constructor
{
cout<<"Nomen?";
cin>>nomen;
aetatemPonere();
}

int main()
{
persona Maria;
persona *Caesar = new persona;

cout<<Maria.nomen<<" "<<Maria.aetasData()<<endl;
cout<<Caesar->nomen<<" "<<Caesar->aetasData()<<endl;
}

 C
 D
 GCC
 Perl

 Bibliographia 
Commentarius ex Encyclopaedia Britannica

Categoria:Linguae programmationis