Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
class Book{
char* name;
public:
Book(char n){
name = new char[strlen(n)+1];
strcpy(name,n);
}
~Book(){
delete[] name;
}
void print(){
cout<<name;
}
};
void main(){
Book b(Stroustrup), b2(Lippman);
b2 = b;
b.print();
b2.print();
}
, .
, , ( Lippman)
, (
, ,
:
Complex c1,c2,c3;
c3=c1+c2;
//
c3=c1.operator+(c2); //
: 1.
. & , ++ - , ! . : +
- , * - .
,
( ). , ++ i++, ++i.
? :
:
Complex& operator++();
Complex operator++(int);
//
//
: (
) .
, . :
, ,
, . ?:.
1
, :
->, [], (), new new[], delete delete[] .
:
- ,
;
- ;
- void;
operator();
- ;
,
.
2
operator() ,
.
?
?
?
?
?
6.
?
7.
?
8.
"()"?
9.
"->"?
10.
(
)?
11.
"<<"?
12.
?
Sarcina
Varianta 1
) S se creeze o clas de numere ntregi. S se defineasc operatorii "++" i "+", ca metode ale
clasei, iar operatorii "- -" i "-" ca funcii prietene. Operatorii trebuie s permit efectuarea
operaiilor att cu variabilele clasei date, ct i cu variabilele ntregi de tip predefinit.
b) S se creeze o clas Set mulimea numerelor ntregi, utiliznd memoria dinamic. S se
defineasc operatorii de lucru cu mulimile: "+" uniunea, "*" intersecia, "-" scderea, ca
funcii prietene, iar "+=" nserarea unui nou element n mulime, "==" comparare la
egalitate, . a. ca metode ale clasei. S se defineasc operatorii "<<" i ">>". S se defineasc
funcia de verificare a apartenenei unui element la o mulime.
Varianta 2
) S se creeze clasa 2-D de coordonate n plan. S se defineasc operatorii "+" i "-" ca funcii
prietene, iar operatorii de atribuire i de comparare ca metode ale clasei. De prevzut
posibilitatea efecturii operaiilor att ntre coordonate, ct i ntre coordonate i numere
obinuite.
b) S se creeze clasa Stack stiv, utiliznd memoria dinamic. S se defineasc urmtorii
operatori ca metode ale clasei: "+" de adunare a dou stive, "=" de atribuire, "()" de
returnare a unei stive noi care conine ultimele n elemente ale stivei date. S se defineasc
operatorii de comparare: "==", "!=", "<", ">" ca funcii prietene. Pentru realizarea ultimilor doi
operatori s se defineasc funcia de calcul a normei elementelor stivei. S se defineasc
operatorii "<<" i ">>" pentru ieiri/intrri de obiecte. Clasa trebuie s fie absolut funcional,
adic s conin toi constructorii necesari i destructorul.
Varianta 3
) S se creeze clasa 3-D de coordonate n spaiu. S se defineasc operatorii "+", "-", "=", ca
metode ale clasei, iar operatorii de comparare ca funcii prietene. De prevzut posibilitatea
realizrii de operaii att ntre coordonate ct i ntre coordonate i numere obinuite.