curs oop
description
Transcript of curs oop
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Object Oriented ProgrammingCDL - cursul 2
Adrian Scoica
[email protected] martie 2013
ROSEdu
1 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
1 Ce este OOP?
2 In practica
3 C++ cookies
4 Crearea unei Clase
5 Link-uri Utile
2 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
1 Ce este OOP?
2 In practica
3 C++ cookies
4 Crearea unei Clase
5 Link-uri Utile
3 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Despre concept
O paradigma de programare care foloses, te obiecte pentru amodela aplicat, ii
O modalitate de a structura mai modular logica unei aplicat, ii
Face limbajele mai flexibile s, i codul mai intuitiv
Not, iuni centrale:
clasaobiectmos, tenirencapsularepolimorfism
4 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Despre concept
O paradigma de programare care foloses, te obiecte pentru amodela aplicat, ii
O modalitate de a structura mai modular logica unei aplicat, ii
Face limbajele mai flexibile s, i codul mai intuitiv
Not, iuni centrale:
clasaobiectmos, tenirencapsularepolimorfism
4 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Despre concept
O paradigma de programare care foloses, te obiecte pentru amodela aplicat, ii
O modalitate de a structura mai modular logica unei aplicat, ii
Face limbajele mai flexibile s, i codul mai intuitiv
Not, iuni centrale:
clasaobiectmos, tenirencapsularepolimorfism
4 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Despre concept
O paradigma de programare care foloses, te obiecte pentru amodela aplicat, ii
O modalitate de a structura mai modular logica unei aplicat, ii
Face limbajele mai flexibile s, i codul mai intuitiv
Not, iuni centrale:
clasaobiectmos, tenirencapsularepolimorfism
4 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Despre concept
O paradigma de programare care foloses, te obiecte pentru amodela aplicat, ii
O modalitate de a structura mai modular logica unei aplicat, ii
Face limbajele mai flexibile s, i codul mai intuitiv
Not, iuni centrale:
clasa
obiectmos, tenirencapsularepolimorfism
4 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Despre concept
O paradigma de programare care foloses, te obiecte pentru amodela aplicat, ii
O modalitate de a structura mai modular logica unei aplicat, ii
Face limbajele mai flexibile s, i codul mai intuitiv
Not, iuni centrale:
clasaobiect
mos, tenirencapsularepolimorfism
4 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Despre concept
O paradigma de programare care foloses, te obiecte pentru amodela aplicat, ii
O modalitate de a structura mai modular logica unei aplicat, ii
Face limbajele mai flexibile s, i codul mai intuitiv
Not, iuni centrale:
clasaobiectmos, tenire
ncapsularepolimorfism
4 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Despre concept
O paradigma de programare care foloses, te obiecte pentru amodela aplicat, ii
O modalitate de a structura mai modular logica unei aplicat, ii
Face limbajele mai flexibile s, i codul mai intuitiv
Not, iuni centrale:
clasaobiectmos, tenirencapsulare
polimorfism
4 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Despre concept
O paradigma de programare care foloses, te obiecte pentru amodela aplicat, ii
O modalitate de a structura mai modular logica unei aplicat, ii
Face limbajele mai flexibile s, i codul mai intuitiv
Not, iuni centrale:
clasaobiectmos, tenirencapsularepolimorfism
4 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Despre concept
O paradigma de programare care foloses, te obiecte pentru amodela aplicat, ii
O modalitate de a structura mai modular logica unei aplicat, ii
Face limbajele mai flexibile s, i codul mai intuitiv
Not, iuni centrale:
clasaobiectmos, tenirencapsularepolimorfism
4 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Despre clase
Ce este o clasa?
Trasaturile comune pot fi:
structurale
comportamentale
5 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Despre clase
Ce este o clasa?
Trasaturile comune pot fi:
structurale
comportamentale
5 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Despre clase
Ce este o clasa?
Trasaturile comune pot fi:
structurale
comportamentale
5 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Despre clase
Ce este o clasa?
Trasaturile comune pot fi:
structurale
comportamentale
5 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Despre clase
Ce este o clasa?
Trasaturile comune pot fi:
structurale
comportamentale
5 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
1 Ce este OOP?
2 In practica
3 C++ cookies
4 Crearea unei Clase
5 Link-uri Utile
6 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Task: evident, a populat, iei
Vrem sa implementam un mecanism de a lucra cu o populat, ie deoameni ntr-o aplicat, ie (de exemplu, un joc).
Cerint, e:
Indivizii sa aiba nume
Indivizii sa aiba varste diferite s, i sume de bani diferite
Indivizii sa poata dona bani unii altora
Sa putem t, ine evident, a populat, iei
7 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Task: evident, a populat, iei
Vrem sa implementam un mecanism de a lucra cu o populat, ie deoameni ntr-o aplicat, ie (de exemplu, un joc). Cerint, e:
Indivizii sa aiba nume
Indivizii sa aiba varste diferite s, i sume de bani diferite
Indivizii sa poata dona bani unii altora
Sa putem t, ine evident, a populat, iei
7 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Task: evident, a populat, iei
Vrem sa implementam un mecanism de a lucra cu o populat, ie deoameni ntr-o aplicat, ie (de exemplu, un joc). Cerint, e:
Indivizii sa aiba nume
Indivizii sa aiba varste diferite s, i sume de bani diferite
Indivizii sa poata dona bani unii altora
Sa putem t, ine evident, a populat, iei
7 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Task: evident, a populat, iei
Vrem sa implementam un mecanism de a lucra cu o populat, ie deoameni ntr-o aplicat, ie (de exemplu, un joc). Cerint, e:
Indivizii sa aiba nume
Indivizii sa aiba varste diferite s, i sume de bani diferite
Indivizii sa poata dona bani unii altora
Sa putem t, ine evident, a populat, iei
7 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Task: evident, a populat, iei
Vrem sa implementam un mecanism de a lucra cu o populat, ie deoameni ntr-o aplicat, ie (de exemplu, un joc). Cerint, e:
Indivizii sa aiba nume
Indivizii sa aiba varste diferite s, i sume de bani diferite
Indivizii sa poata dona bani unii altora
Sa putem t, ine evident, a populat, iei
7 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Task: evident, a populat, iei
Vrem sa implementam un mecanism de a lucra cu o populat, ie deoameni ntr-o aplicat, ie (de exemplu, un joc). Cerint, e:
Indivizii sa aiba nume
Indivizii sa aiba varste diferite s, i sume de bani diferite
Indivizii sa poata dona bani unii altora
Sa putem t, ine evident, a populat, iei
7 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Solut, ia clasica
1 struct Player{2 char * name;
3 int age, gold;
4 };5 int Player count = 0;
6 void init P(Player * player, char * name, int age, int gold){7 player->name = strdup(name);8 player->age = age;9 player->gold = gold;10 }11
12 void donate(Player * player, Player * dest, int amount){13 dest->gold += amount;14 player->gold -= amount;15 }16
17 void print Player (Player * player, FILE * file){18 fprintf(f,"Name: %s\nAge: %d\nGold: %d\n",19 player->name, player->age, player->gold);20 }
8 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Solut, ia clasica1 struct Player{2 char * name;
3 int age, gold;
4 };5 int Player count = 0;
6 void init P(Player * player, char * name, int age, int gold){7 player->name = strdup(name);8 player->age = age;9 player->gold = gold;10 }11
12 void donate(Player * player, Player * dest, int amount){13 dest->gold += amount;14 player->gold -= amount;15 }16
17 void print Player (Player * player, FILE * file){18 fprintf(f,"Name: %s\nAge: %d\nGold: %d\n",19 player->name, player->age, player->gold);20 }
8 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Pas 1: Constructori
1 struct Player{2 char * name;
3 int age, gold;
4
5 Player(char * name, int age, int gold) :
6 name(strdup(name)), age(age), gold(gold) { }7 };8
9 int Player count = 0;
10
11 void donate(Player * player, Player * dest, int amount){12 dest->gold += amount;13 player->gold -= amount;14 }15
16 void print Player (Player * player, FILE * file){17 fprintf(f,"Name: %s\nAge: %d\nGold: %d\n",18 player->name, player->age, player->gold);19 }
9 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Pas 1: Constructori1 struct Player{2 char * name;
3 int age, gold;
4
5 Player(char * name, int age, int gold) :
6 name(strdup(name)), age(age), gold(gold) { }7 };8
9 int Player count = 0;
10
11 void donate(Player * player, Player * dest, int amount){12 dest->gold += amount;13 player->gold -= amount;14 }15
16 void print Player (Player * player, FILE * file){17 fprintf(f,"Name: %s\nAge: %d\nGold: %d\n",18 player->name, player->age, player->gold);19 }
9 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Pas 2: Functii membru
1 struct Player{2 char * name;
3 int age, gold;
4
5 Player(char * name, int age, int gold) :
6 name(strdup(name)), age(age), gold(gold) { }7
8 void donate(Player * dest, amount) {9 dest->gold += amount;10 gold -= amount;
11 }12 };13
14 int Player count = 0;
15
16 void print Player (Player * player, FILE * file){17 fprintf(f,"Name: %s\nAge: %d\nGold: %d\n",18 player->name, player->age, player->gold);19 }
10 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Pas 2: Functii membru1 struct Player{2 char * name;
3 int age, gold;
4
5 Player(char * name, int age, int gold) :
6 name(strdup(name)), age(age), gold(gold) { }7
8 void donate(Player * dest, amount) {9 dest->gold += amount;10 gold -= amount;
11 }12 };13
14 int Player count = 0;
15
16 void print Player (Player * player, FILE * file){17 fprintf(f,"Name: %s\nAge: %d\nGold: %d\n",18 player->name, player->age, player->gold);19 }
10 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Pas 3: Variabile statice
1 struct Player{2 char * name;
3 int age, gold;
4 static int count;
5
6 Player(char * name, int age, int gold) :
7 name(strdup(name)), age(age), gold(gold) { count++; }8
9 void donate(Player * dest, amount) {10 dest->gold += amount;11 gold -= amount;
12 }13 };14
15 int Player::count = 0;
16
17 void print Player (Player * player, FILE * file){18 fprintf(f,"Name: %s\nAge: %d\nGold: %d\n",19 player->name, player->age, player->gold);20 }
11 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Pas 3: Variabile statice1 struct Player{2 char * name;
3 int age, gold;
4 static int count;
5
6 Player(char * name, int age, int gold) :
7 name(strdup(name)), age(age), gold(gold) { count++; }8
9 void donate(Player * dest, amount) {10 dest->gold += amount;11 gold -= amount;
12 }13 };14
15 int Player::count = 0;
16
17 void print Player (Player * player, FILE * file){18 fprintf(f,"Name: %s\nAge: %d\nGold: %d\n",19 player->name, player->age, player->gold);20 }
11 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Pas 4: Operatori
1 struct Player{2 char * name;
3 int age, gold;
4 static int count;
5
6 Player(char * name, int age, int gold) :
7 name(strdup(name)), age(age), gold(gold) { count++; }8
9 void donate(Player * dest, amount) {10 dest->gold += amount;11 gold -= amount;
12 }13 };14
15 int Player::count = 0;
16
17 ostream& operator
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Pas 4: Operatori1 struct Player{2 char * name;
3 int age, gold;
4 static int count;
5
6 Player(char * name, int age, int gold) :
7 name(strdup(name)), age(age), gold(gold) { count++; }8
9 void donate(Player * dest, amount) {10 dest->gold += amount;11 gold -= amount;
12 }13 };14
15 int Player::count = 0;
16
17 ostream& operator
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Syntax sugar: Parametri Impliciti
1 struct Player{2 char * name;
3 int age, gold;
4 static int count;
5
6 Player(char * name, int age = 20, int gold = 0) :
7 name(strdup(name)), age(age), gold(gold) { count++; }8
9 void donate(Player * dest, amount) {10 dest->gold += amount;11 gold -= amount;
12 }13 };14
15 int Player::count = 0;
16
17 ostream& operator
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Syntax sugar: Parametri Impliciti1 struct Player{2 char * name;
3 int age, gold;
4 static int count;
5
6 Player(char * name, int age = 20, int gold = 0) :
7 name(strdup(name)), age(age), gold(gold) { count++; }8
9 void donate(Player * dest, amount) {10 dest->gold += amount;11 gold -= amount;
12 }13 };14
15 int Player::count = 0;
16
17 ostream& operator
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Problem fix: Destructori
1 struct Player{2 char * name;
3 int age, gold;
4 static int count;
5
6 Player(char * name, int age = 20, int gold = 0) :
7 name(strdup(name)), age(age), gold(gold) { count++; }8
9 virtual Player() { count--; free(name); }10
11 void donate(Player * dest, amount) {12 dest->gold += amount;13 gold -= amount;
14 }15 };16
17 int Player::count = 0;
18
14 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Problem fix: Destructori
1 struct Player{2 char * name;
3 int age, gold;
4 static int count;
5
6 Player(char * name, int age = 20, int gold = 0) :
7 name(strdup(name)), age(age), gold(gold) { count++; }8
9 virtual Player() { count--; free(name); }10
11 void donate(Player * dest, amount) {12 dest->gold += amount;13 gold -= amount;
14 }15 };16
17 int Player::count = 0;
18
14 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Safety fix: Accesul la membri
1 struct Player{2 private:3 char * name;
4 int age, gold;
5 static int count;
6 public:7 Player(char * name, int age = 20, int gold = 0) :
8 name(strdup(name)), age(age), gold(gold) { count++; }9 virtual Player() { count--; free(name); }10 void donate(Player * dest, amount) {11 dest->gold += amount;12 gold -= amount;
13 }14 const char * get name() { return name; }15 int get age() { return age; }16 int get gold() { return gold; }17 static int get count() { return count; }18 };19
20 int Player::count = 0;
15 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Safety fix: Accesul la membri1 struct Player{2 private:3 char * name;
4 int age, gold;
5 static int count;
6 public:7 Player(char * name, int age = 20, int gold = 0) :
8 name(strdup(name)), age(age), gold(gold) { count++; }9 virtual Player() { count--; free(name); }10 void donate(Player * dest, amount) {11 dest->gold += amount;12 gold -= amount;
13 }14 const char * get name() { return name; }15 int get age() { return age; }16 int get gold() { return gold; }17 static int get count() { return count; }18 };19
20 int Player::count = 0;
15 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
New horizons: Mos, tenirea s, i supradefinirea
1 struct Thief : public Player {2 private:3 int stolen;
4 public:5 Thief(char * name, int age = 30, int gold = 0) :
6 Player(name, age, gold), stolen(0) { }7
8 void steal(Player * player, int amount) {9 player->donate(this, amount);10 }11
12 void donate(Player * dest, amount) {13 }14 };
Daca am vrea ca un Thief sa se amestece printre Player, atunci trebuiesa declaram metoda din clasa de baza ca fiind virtuala!
16 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
New horizons: Mos, tenirea s, i supradefinirea
1 struct Thief : public Player {2 private:3 int stolen;
4 public:5 Thief(char * name, int age = 30, int gold = 0) :
6 Player(name, age, gold), stolen(0) { }7
8 void steal(Player * player, int amount) {9 player->donate(this, amount);10 }11
12 void donate(Player * dest, amount) {13 }14 };
Daca am vrea ca un Thief sa se amestece printre Player, atunci trebuiesa declaram metoda din clasa de baza ca fiind virtuala!
16 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
New horizons: Mos, tenirea s, i supradefinirea
1 struct Thief : public Player {2 private:3 int stolen;
4 public:5 Thief(char * name, int age = 30, int gold = 0) :
6 Player(name, age, gold), stolen(0) { }7
8 void steal(Player * player, int amount) {9 player->donate(this, amount);10 }11
12 void donate(Player * dest, amount) {13 }14 };
Daca am vrea ca un Thief sa se amestece printre Player, atunci trebuiesa declaram metoda din clasa de baza ca fiind virtuala!
16 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
1 Ce este OOP?
2 In practica
3 C++ cookies
4 Crearea unei Clase
5 Link-uri Utile
17 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
STL: Introduction
STL este o biblioteca (accesibila printr-o serie de headere) standard dinC++.
Cont, ine:
Containere de date
Algoritmi
Pe langa STL, limbajul mai pune la dispozit, ie:
Metode de I/O
Clase pentru lucrul cu fis, iere
Zeci de alte mbunatat, iri
18 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
STL: Introduction
STL este o biblioteca (accesibila printr-o serie de headere) standard dinC++. Cont, ine:
Containere de date
Algoritmi
Pe langa STL, limbajul mai pune la dispozit, ie:
Metode de I/O
Clase pentru lucrul cu fis, iere
Zeci de alte mbunatat, iri
18 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
STL: Introduction
STL este o biblioteca (accesibila printr-o serie de headere) standard dinC++. Cont, ine:
Containere de date
Algoritmi
Pe langa STL, limbajul mai pune la dispozit, ie:
Metode de I/O
Clase pentru lucrul cu fis, iere
Zeci de alte mbunatat, iri
18 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
STL: Introduction
STL este o biblioteca (accesibila printr-o serie de headere) standard dinC++. Cont, ine:
Containere de date
Algoritmi
Pe langa STL, limbajul mai pune la dispozit, ie:
Metode de I/O
Clase pentru lucrul cu fis, iere
Zeci de alte mbunatat, iri
18 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
STL: Introduction
STL este o biblioteca (accesibila printr-o serie de headere) standard dinC++. Cont, ine:
Containere de date
Algoritmi
Pe langa STL, limbajul mai pune la dispozit, ie:
Metode de I/O
Clase pentru lucrul cu fis, iere
Zeci de alte mbunatat, iri
18 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
STL: Introduction
STL este o biblioteca (accesibila printr-o serie de headere) standard dinC++. Cont, ine:
Containere de date
Algoritmi
Pe langa STL, limbajul mai pune la dispozit, ie:
Metode de I/O
Clase pentru lucrul cu fis, iere
Zeci de alte mbunatat, iri
18 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
STL: Introduction
STL este o biblioteca (accesibila printr-o serie de headere) standard dinC++. Cont, ine:
Containere de date
Algoritmi
Pe langa STL, limbajul mai pune la dispozit, ie:
Metode de I/O
Clase pentru lucrul cu fis, iere
Zeci de alte mbunatat, iri
18 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
STL: Introduction
STL este o biblioteca (accesibila printr-o serie de headere) standard dinC++. Cont, ine:
Containere de date
Algoritmi
Pe langa STL, limbajul mai pune la dispozit, ie:
Metode de I/O
Clase pentru lucrul cu fis, iere
Zeci de alte mbunatat, iri
18 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Exemplu utilizare: stringuri, lucrul cu fis, iere
1 #include2 #include3
4 int main()
5 {6 std::string s1, s2;
7 std::cin >> s1 >> s2;8
9 int fromHere;
10 while ((fromHere = s1.find(s2)) != std::string::npos){11 s1.replace(fromHere, s2.length(), "");
12 }13
14 std::cout
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Exemplu utilizare: vectori, algoritmi1 #include2 #include3 #include4
5 int main()
6 {7 int n, x;
8 std::vector v;9
10 for (int i = 0; i < n; i++){11 std::cin >> x;12 v.push back(x);
13 }14
15 sort(v.begin(), v.end()); // Dar descrescator??16 for (int i = 0; i < n; i++){17 std::cout
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
1 Ce este OOP?
2 In practica
3 C++ cookies
4 Crearea unei Clase
5 Link-uri Utile
21 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Cerint, e
Am vrea o clasa care sa implementeze operat, ii aritmetice cu numerecomplexe:
Clasa se va numi Complex
Constructorul va avea parametrii implicit, i
Membrii de date vor fi privat, i
Avem la dispozit, ie funct, ii getter s, i funct, ie de aflat modulul
Avem un operator de adunare s, i unul de scadere
22 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Cerint, e
Am vrea o clasa care sa implementeze operat, ii aritmetice cu numerecomplexe:
Clasa se va numi Complex
Constructorul va avea parametrii implicit, i
Membrii de date vor fi privat, i
Avem la dispozit, ie funct, ii getter s, i funct, ie de aflat modulul
Avem un operator de adunare s, i unul de scadere
22 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Cerint, e
Am vrea o clasa care sa implementeze operat, ii aritmetice cu numerecomplexe:
Clasa se va numi Complex
Constructorul va avea parametrii implicit, i
Membrii de date vor fi privat, i
Avem la dispozit, ie funct, ii getter s, i funct, ie de aflat modulul
Avem un operator de adunare s, i unul de scadere
22 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Cerint, e
Am vrea o clasa care sa implementeze operat, ii aritmetice cu numerecomplexe:
Clasa se va numi Complex
Constructorul va avea parametrii implicit, i
Membrii de date vor fi privat, i
Avem la dispozit, ie funct, ii getter s, i funct, ie de aflat modulul
Avem un operator de adunare s, i unul de scadere
22 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Cerint, e
Am vrea o clasa care sa implementeze operat, ii aritmetice cu numerecomplexe:
Clasa se va numi Complex
Constructorul va avea parametrii implicit, i
Membrii de date vor fi privat, i
Avem la dispozit, ie funct, ii getter s, i funct, ie de aflat modulul
Avem un operator de adunare s, i unul de scadere
22 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Cerint, e
Am vrea o clasa care sa implementeze operat, ii aritmetice cu numerecomplexe:
Clasa se va numi Complex
Constructorul va avea parametrii implicit, i
Membrii de date vor fi privat, i
Avem la dispozit, ie funct, ii getter s, i funct, ie de aflat modulul
Avem un operator de adunare s, i unul de scadere
22 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
1 Ce este OOP?
2 In practica
3 C++ cookies
4 Crearea unei Clase
5 Link-uri Utile
23 / 24
-
Ce este OOP? In practica C++ cookies Crearea unei Clase Link-uri Utile
Link-uri Utile
http://www.cplusplus.com - Sursa oficiala de documentat, ie a limbajului
http://www.cs.brown.edu/~jak/proglang/cpp/stltut/tut.html - Untutorial de baza pentru STL
http://www.codeproject.com/KB/stl/stlintroduction.aspx - Introduceren STL
http://swarm.cs.pub.ro/~adrian.sc/PA/TutorialC++.pdf - Tutorial C++pentru programatorii de Java/C#
http://cdl.rosedu.org/2010/_media/cursuri/curs01/curs1_oop.pdf - Oprezentare mai detaliata despre OOP n C++ de la CDL 2010
24 / 24
http://www.cplusplus.comhttp://www.cs.brown.edu/~jak/proglang/cpp/stltut/tut.htmlhttp://www.codeproject.com/KB/stl/stlintroduction.aspxhttp://swarm.cs.pub.ro/~adrian.sc/PA/TutorialC++.pdfhttp://cdl.rosedu.org/2010/_media/cursuri/curs01/curs1_oop.pdf
Ce este OOP?n practicaC++ cookiesCrearea unei ClaseLink-uri Utile