Mihai Sprinceana
Un forum de programare cu de toate. Va astept sa va inscrieti si sa deveniti moderatori. Oricine este binevenit aici sa se inscrie si sa aiba acces la informatie free! Fiecare este liber sa adauge proiecte programe free etc. Ajutati acest forum sa devina o comunitate puternica unde fiecare invata de la fiecare! Tot ce trebuie sa faceti este sa va inregistrati si fiecare contributie se poate dovedi utila in timp! Forumul este free informatia free dk aveti timp liber ajutati si pe ceilalti si invatati si voi in acelasi timp! Haideti sa facem ceva pt.a ne ajuta intre noi!
Cititi regulament postare forum inainte de a posta!
|
Lista Forumurilor Pe Tematici
|
Mihai Sprinceana | Inregistrare | Login
POZE MIHAI SPRINCEANA
Nu sunteti logat.
|
Nou pe simpatie: Angelina20 23 ani
| Femeie 23 ani Cluj cauta Barbat 24 - 55 ani |
|
Conan
Moderator
Inregistrat: acum 17 ani
Postari: 198
|
|
#include<iostream.h> #include<conio.h> #include<math.h>
class locatie //se defineste clasa locatie { double x,y; //coordonatele centrului unei figuri public: locatie(double,double); void afisare() //functie inline {cout<<"x="<<x; cout<<"y="<<y; } };
class forma //clasa abstracta datorita fctiei virt.pure {locatie centru;//variabila de tip locatie public: forma(double,double);//constructor cu parametru void afisare();//functie de afisare virtual double aria()=0;//functie virtuala pura,e suficient una sa fie=0 virtual double volum()=0;//functie virtuala pura };
//constructor cu parametru al clasei locatie locatie::locatie(double abs,double ord) {x=abs; y=ord; };
//constructor cu parametru al clasei forma forma::forma(double cx,double cy):centru(cx,cy) //apeleaza constructorul locatie(double,double) { }
//functia de afisare care apeleaza obiectul void forma::afisare() {centru.afisare(); }
//se va deriva clasa triunghi din clasa forma class triunghi:public forma {double a,b,c; public: triunghi(double,double,double,double,double);//se mostenesc si cx si cy void afisare() {forma::afisare(); //apeleaza functia afisare din clasa forma cout<<"a="<<a; //functie inline de afisare cout<<"b="<<b; cout<<"c="<<c; } virtual double arie(); virtual double perimetru(); };
//constructor cu parametru al clasei triunghi care este derivata din clasa forma triunghi::triunghi(double la,double lb,double lc,double cx,double cy):forma(cx,cy) {a=la; b=lb; c=lc; }
//functie de calcul a ariei unui triunghi double triunghi::arie() {double p; p= (a+b+c)/2; return sqrt(p*(p-a)*(p-b)*(p-c)); //HERON }
//functie de calcul a perimetrului unui triunghi double triunghi::perimetru() {return a+b+c; }
//clasa patrat derivata a clasei forma class patrat:public forma {double l; public: patrat(double,double,double); void afisare() {forma::afisare(); cout<<"Latura patratului este"<<l; } virtual double arie(); virtual double perimetru(); };
//constructorul cu parametru al clasei patrat patrat::patrat(double lat,double cx,double cy):forma(cx,cy) {l=lat; }
//functie de calcul a ariei unui patrat double patrat::arie() {return l*l; }
//functie de calcul a perimetrului unui patrat double patrat::perimetru() {return 4*l; }
void main() {clrscr(); //forma ob1(3,2); EROARE! nu pot avea instantieri dintr-o clasa abstracta triunghi ob2(3,4,5,1,1); forma *p; p=&ob2; p->afisare(); //patrat ob3(3,2,5); //ob2.afisare(); //ob3.afisare(); getch(); }
|
|
pus acum 16 ani |
|