Sa se defineasca ierarhia de clase: Punct-Placa rotunda-Vas cilindric. Clasa Vas cilindric trebuie sa contina metode de calculare a volumului vasului. Ultimele 2 clase din ierarhie trebuie sa aiba constructori. Sa se defineasca de asemenea functia de afisare pentru fiecare clasa. Sa se demonstreze lucrul fiecarei functii membre. Sa se scrie programul in care se declara 2 vase, se determina care din ele este mai mare si care din cele 2 vase poate fi introdus in celalalt.
II.Mersul lucrarii:
1) Introducem directivele necesare: stdio.h, conio.h, iostream.h, math.h, stdlib.h, string.h, <graphics.h>.
2) Definim 3 clase prin mostenire, astfel incit clasa Placa rotunda sa fie derivate clasei Punct, iar clasa Vas cilindric sa fie derivate clasei Placa rotunda.
3) Pentru fiecare clasa in parte definim constructorii implicit si explicit, si cite o functie de afisare. in clasa Punct aceasta functie afiseaza coordonatele punctului (centrului) si il deseneaza pe ecran; in clasa Cerc se apeleaza functia de afisare din clasa Punct, afiseaza lungimea razei si se deseneaza cercul; iar in clasa Cilindru se apeleaza respectiv functia de afisare din clasa Cerc, se afiseaza valoarea inaltimii si se deseneaza cilindrul in totalitate.
4) in clasa Cerc cream o functie care calculeaza aria cercului, iar in clasa Cilindru definim functia care calculeaza volumul cilindrului, cu ajutorul apelarii functiei de calculare a ariei cercului.
5) Initializam grafica in functia de baza.
6) Cream 2 obiecte care reprezinta 2 cilindre.
7) Ulterior se compara volumele acestor cilindre si se verifica care din ele va fi introdus unul in celalalt si daca va fi posibil acest lucru.
III. Codul programului:
#include <conio.h>
#include <iostream.h>
#include <math.h>
#include <stdio.h>
#include <graphics.h>
#include <string.h>
#include <stdlib.h>
const float pi=3.14;
/***************************class punct**************************************/
class punct
{
public:
char nume[10];
int x,y;
punct(); //constructorul implicit class punct
punct(char *n, int X, int Y); //constructorul explicit class punct
void print_p(); //functia de afisare class punct
};
punct::punct() //descrierea constructorului implicit class punct
{
strcpy(nume,"");
x=0;
y=0;
}
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.