Management Teoria transmisiunii informatiilor Biologie Didactica Mecanica Literatura comparata Arheologie industriala Politologie Ergoterapie Istoria secolului XX Logopedie CIA Fiscalitate Chimie Informatica AutoCAD Fizica Logistica Marketing Oracle EXPERT ACHIZITII PUBLICE Marketing Psihologie Educationala transporturi Gestiune hoteliera Arhitectura peisagera Comert IS Economia si Gestiunea Intreprinderii I I T M Diverse Transmisiuni Analogice si Digitale. Structuri de date si algoritmi C++ Sociologia Comunicarii in Masa Prelucrarea semnalelor si imaginilor Finante Analiza matematica Algoritmi si programare Metodologie si Statistica Introducere in istoria dreptului Analiza economico financiara Constructii Metodologie Psihologie Cibernetica Electronica industriala Drept constitutiv Comunicare Teoria Sistemelor Frigotehnie Baze de Date Drept comercial Contabilitate Administratie Publica Depanare PC Sociologie Franceza Automatica Drept penal Credit si banci Relatii internationale Ginecologie Drept european Drept Filosofie Istoria literaturii romane Dreptul familiei Educatie fizica si sport Radiologie Pedagogie Sociala Statistica Turism Pedagogie Moneda Credit Istorie Dispozitive si Circuite Electronice Asistenta Sociala Retele de calculatoare SPICE Word Merceologie Drept civil Materiale in electronica Engleza Spectroscopie si LASERI Psihiatrie Visual Basic Consiliere scolara Electronica Mass media Terapia ocupationala si ergoterapia Kinetoterapie Semiotica Medicina Economie Istoria dreptului Managementul resurselor umane Bazele Managementului Industrial Sociologia familiei Limba Romana Circuite digitale integrate Criminalistica Geografie Hidrologie Drept constitutional Contabilitate bancara Astrologie Istoria relatiilor internationale MANAGER DE PROIECT Drept Penal Special Drept economic Programare orientata pe obiecte Relatii Internationale si Studii Europene Teologie Drept administrativ Economie politica Asistenta medicala Internet Fotografia digitala Inginerie mecanica Drept roman Muzica Arhitectura Circuite Integrate Astronomie Bazele Sistemelor de Achizitie a Datelor Protectia Mediului PHP si SQL Prelucrarea si Analiza Imaginilor Matematica SPSS Genetica Psihopedagogie Speciala Agricultura Java

Programare Orientata pe Obiect in C++

Publicat: 24 Apr 2010 00:00

Mediul Borland C a fost extins la Visual C si C++ Builder, adaptate programarii orientate obiect si interfetei grafice Windows 95. Limbajul C a fost extins la C++ permitand aplicarea conceptelor programarii prin abstractizarea datelor si programarii orientate spre obiecte.

Fisierele sursa pot avea extensia C, CP, sau CPP.
1.1. Structura unui program
Un program C este contine o functie principala (main) si eventual alte functii secundare, apelate de catre functia principala, situate la acelasi nivel (fara imbricare).
Structura unui program este urmatoarea:
Directive de procesare,
Declaratii de date globale,
Declaratii de functii, sau doar [ Antete de functii (prototipuri) ]
Functia principala; ?
[ Descrierea functiilor (implementari) ]
Se observa ca descrierea functiilor se poate face fie in intregime inaintea functiei main fie doar prototipul inainte, iar corpul dupa aceasta.
Comentariile se scriu intre caracterele /* si */ ( ... /* comentariu */ ... ), sau la nivelul unui rand dupa caracterele // ( ... // comentariu ).
inainte de compilare, un program este precompilat, de catre un preprocesor, care permite includerea unor fisier sursa, definirea si apelul unror macrouri, precum si o compilare conditionata.
Includerea unui fisier sursa (*.h sau *.c) se realizeaza prin directiva include astfel:
# include “specificator_fisier” // pentru fisiere utilizator
sau
# include <specificator_fisier> // pentru fisiere standard
Exemplu:
#include <stdio.h>; // Standard Input Output Header
#include <iostream.h>; // Console Input, Console Output

Constantele simbolice se definesc cu ajutorul directivei define astfel:
#define Nume_constanta Şir_caractere
Exemplu:
#define Pi 3.141592 // inlocuieste Pi cu 3.141592
O constanta simbolica poate fi redefinita sau anulata (#undef Nume_constanta).
1.2. Functii
O functie este formata dintr-un antet si un bloc (corp). Ea poate fi apelata daca a fost definita in intregime sau doar antetul sau.
Antetul unei functii are urmatorul format:
Tip Nume (Lista_parametri_formali)
unde:
? Tip este tipul valorilor functiei (codomeniul);
? Nume este un identificator (litera urmata eventual de alte litere sau cifre);
? Lista_parametri_formali contine parametrii formali separati prin ‘,’.
Exemplu: int Min (int a, int b)
{ if (a<b) return a; else return b; }
Observatie. Prototipul unei functii este antetul acesteia urmat de ‘;’ .
Corpul unei functii are urmatoarea structura:
{
Declaratii
Instructiuni
}
Exemple: int Cmmdc(int a, int b) // Cmmdc(a,b)
{
if (b= =0) return a;
else return Cmmdc(b,a % b); // Cmmdc(b,a Mod b);
}
int cmmdc(int a, int b) // cmmdc(a,b)
{ int rest;
do { rest=a%b;
a=b;
b=rest; }
while (rest!=0); // rest ? 0;
return a;
}

1.3. Elementele limbajului
Alfabetul limbajului C este format din litere mari si mici, cifre si caractere speciale (\\
=CrLf, \\\\t=Tab).
Identificatorii sunt formati din litera_ urmata eventual de litere_ sau cifre (caracterul ‘_’ poate fi utilizat pe post de litera).
Exista cuvinte cheie care pot fi utilizate doar in contextul definit (de exemplu case, float, int, long, return, short, static, structure, switch, union, unsigned, void).
Tipurile predefinite sunt urmatoarele:
? int (Z ? [-215,215-1]),
? short (Z ? [-215,215-1]),
? long (Z ? [-231,231-1]),
? unsigned (N ? [0,216-1]),
? float (Q* ? [-3.4?10-38, 3.4?1038]),
? double (Q* ? [-1.7?10-308, 1.7?10308]),
? char (cod ASCII).
Constantele numerice pot fi zecimale (123, 123Long, 111long), octale (077), hexa (0xabba, 0Xfac), sau flotante (2.71828, 6.023e23, 6.023E23).
Constantele de tip caracter pot fi afisabile ('A', '0', '"') sau functionale ('\\\\b'=Backspace, '\\\\r'=Return, '\\
'=Newline, '\\\\''=Apostrof, '\\\\\\\\'=Backslash, '\\\\v'=Verticaltab, '\\\\f'=Salt de pagina, '\\\\0'=Null.
Constantele de tip sir de caractere se scriu intre ghilimele ("Mesaj").
Declararea variabilelor simple se face astfel:
Tip Lista_identificatori_de_variabile;
Exemplu:
int i, j; float x,y; char c;
Declararea unui tablou se realizeaza astfel:
Tip Nume_Tablou [d1] [d 2] ... [di] ... [dn]; // indicele ki: 0? ki<di
Exemple:
float x[100]; x[0]=1; ... x[99]=100; // x este pointer la primul element
int a[2,2]; a[0][0]=1; a[0][1]=2; // a contine adresa tabloului
a[1][0]=3; a[1][1]=4;

2. Variabile
Variabilele pot fi statice sau dinamice, locale sau globale.
2.1. Variabile globale
Declararea unei variabile globale se face la inceputul unui fisier sursa (in afara tuturor functiilor) si poate fi referita pana la sfarsitul programului (in orice functie). Utilizarea lor in alte fisiere sursa se poate face doar daca acestea sunt declarate ca variabile externe

Trebuie sa citesti

Cum sa castigi bani ca student, fara ca situatia ta scolara sa fie afectata in vreun fel
Cum sa castigi bani ca student, fara ca situatia ta scolara sa fie afectata in vreun fel

Daca esti student, ai ratat la cateva sutimi bursa de studiu, iar banii trimisi de parinti nu iti sunt suficienti, atunci e bine sa iei in serios perspectiva de a-ti suplimenta veniturile. Cu toate acestea, elimina din start posibilitatea de a te angaja pe timp de noapte pentru ca te vei epuiza

Google Cloud Platform - ce este si la ce serveste?
Google Cloud Platform - ce este si la ce serveste?

Stocarea în cloud câștigă popularitate în rândul persoanelor care sunt deschise tehnologiilor moderne. Utilizarea abilă a platformei Google Cloud reprezintă o tendință globală în industria IT. Din păcate, doar câțiva dintre

3 aspecte de luat in considerare cand alegeti noua usa de garaj
3 aspecte de luat in considerare cand alegeti noua usa de garaj

Înainte de a începe să faceți cumpărături pentru o nouă ușă de garaj, aflați ce ar trebui să căutați și să înțelegeți posibilitățile vaste pe care le oferă îmbunătățirea prin

Cum pot fi ajutati copiii care din diverse probleme nu pot invata matematica, utilizand auxiliare scolare?
Cum pot fi ajutati copiii care din diverse probleme nu pot invata matematica, utilizand auxiliare scolare?

Sunt mai multe probleme care pot face ca elevii sa nu poata invata corespunzator matematica, insa auxiliarele scolare sunt o sursa buna de ajutor. In acest articol ne referim la auxiliar matematica clasa 7, insa sfaturile si regulile pot fi aplicate pentru orice alt tip de auxiliar indiferent de

Cum sa te simti ca acasa in camera inchiriata
Cum sa te simti ca acasa in camera inchiriata

A mai ramas putin timp pana cand vei incepe facultatea, iar daca te muti intr-un alt oras, trebuie sa-ti asiguri tot confortul. Camera inchiriata, fie ca se afla intr-un camin sau ca este vorba de o garsoniera, te poate face sa te simti ca acasa. Iata cateva trucuri pentru a nu te simti ca un

Teste Online

Test - Windows

Test verificarea abilitatilor de operare si cunsotinte despre Windows

mai multe »