Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateC
C sharpCalculatoareCorel drawDot netExcelFox pro
FrontpageHardwareHtmlInternetJavaLinux
MatlabMs dosPascalPhpPower pointRetele calculatoare
SqlTutorialsWebdesignWindowsWordXml

Polimorfismul. Clase abstracte

calculatoare



+ Font mai mare | - Font mai mic



Polimorfismul. Clase abstracte

Polimorfismul este capacitatea unui singur obiect de a lua forme multiple. Acest lucru se realizeaza prin intermediul pointerilor. Polimorfismul are la baza mostenirea. Se realizeaza prin intermediul functiilor virtuale.



In exemplul de mai jos am construit o clasa abstracta (folosita pentru un caz general). Din ea deriva clase ce ne ofera posibilitatea de a face citiri si afisari pe numere sau siruri de caractere.

#include<iostream.h>

#include<stdio.h>

class abstract

class numar:public abstract

virtual void afisare()

class sir:public abstract

virtual void afisare()

void main()

Subiect 8.

Sa se realizeze o aplicatie pentru lucrul cu nr complexe:

- constructori de initializare si copiere

- functii operator supraincarcati pentru citire si afisare

- supraincarcarea operatorului + pentru adunarea a doua nr complexe

- supraincarcarea operatorului * pentru inmultirea a doua nr complexe

- supraincarcarea operatorului ! pentru modulul unui nr complex

#include<iostream.h>

#include<math.h>

class complex

complex::complex()

complex::complex(complex &z)

complex::complex (float x, float y)

istream& operator>>(istream& in, complex& z)

ostream& operator<<(ostream& out, complex z)

complex complex:: operator+ (complex t)

complex complex::operator-()

complex complex:: operator* (complex t)

void main()

Subiect 9.

/* Sa se realizeze o aplicatie ptr lucrul cu numere rationale. Se vor folosi operatori supraincarcati.

+ ptr adunarea a doua nr rationale

* ptr inmultirea a doua nr rationale

>> ptr citirea a doua nr rationale

<< ptr afisarea a doua nr rationale */

#include<iostream.h>

#include<math.h>

class rational

int numarator;

int numitor;

int cmmdc(int,int);

void ireductibil();

public:

rational() //constructor de initializare implicit

rational(int,int); //constructor de initializare cu parametri

friend istream& operator>>(istream&,rational&); //citirea unui nr rational

friend ostream& operator<<(ostream&,rational); //afisarea unui nr rational

rational operator+(rational&); //supraincarcarea operatorului + ptr adunarea

a doua nr rationale

rational operator*(rational&); //supraincarcarea operatorului * ptr

inmultirea a doua nr. rationale

int rational::cmmdc(int a,int b)

void rational::ireductibil()

if(numitor<0)

rational::rational(int a,int b)

istream& operator>>(istream& in, rational& r)

ostream& operator<<(ostream& out,rational r)

rational rational::operator+(rational& r)

rational rational::operator*(rational& r)

void main()



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1281
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved