You are on page 1of 3

C++ .

15

15.1 kafetiera 15.1, -


() -
,
- kafes, gala, zaxari nero -
.
kafetiera kafetiera::operator () (int k, int g, int z, int n)
{
this->kafes=k; H (),
-
this->gala=g; . .. : kaf1(10,20,100,200)

this->zaxari=z; 10,20,100 200 -
this->nero=n; kafes,gala,zaxari nero kaf1
kafetiera. this -
return *this; p .
}

15.2 kafetiera 15.1, -


(==)
, true -
, -
false.
bool kafetiera::operator == (kafetiera op2)
{
bool temp;
H ==,
if (this->kafes!=op2.kafes) bool.
temp=false; -
, this
else if (this->gala!=op2.gala) op2.
temp=false;
-
else if (this->zaxari!=op2.zaxari) true -
false.
temp=false;
else if (this->nero!=op2.nero)
temp=false;
else
temp=true;
return temp;
}

84
C++

15.3 kafetiera 15.1, -


(*) -
.
kafetiera, -
.
., kaf1 =10, =20, =30 -
=100, 3*kaf1 ( kaf1*3)
kafetiera =30, =60, =90 -
=300.
kafetiera operator * (int value, kafetiera op2)
{
kafetiera temp; H *
kafetiera
temp.kafes=op2.kafes*value; -
temp.gala=op2.gala*value; .

temp.zaxari=op2.zaxari*value; *
kafetiera
temp.nero=op2.nero*value; .
return temp;
kafetiera. .. 10*kaf1.
}

kafetiera operator * (kafetiera op1, int value)


{
kafetiera temp;
* kafetiera,
temp.kafes=op1.kafes*value; . . kaf1*10.
temp.gala=op1.gala*value;
kafetiera.
temp.zaxari=op1.zaxari*value; -
kafetiera
temp.nero=op1.nero*value; .
return temp;
} , -

kafetiera.
#include <iostream>
using namespace std;
class kafetiera
{
int kafes; *,
kafetiera
int gala; -
(kafes,gala
int zaxari;
...).
int nero;
public:
kafetiera(int k, int g, int z, int n);
kafetiera(){};
kafetiera operator + (kafetiera op2);
kafetiera operator () (int k, int g, int z, int n);
friend kafetiera operator * (int value, kafetiera op2);
friend kafetiera operator * (kafetiera op1, int value);
bool operator == (kafetiera op2);
void status();
};

http://cpp.bytes.gr 85
C++ .

kafetiera::kafetiera(int k, int g, int z, int n)


{
kafes=k;
gala=g;
zaxari=z;
nero=n;
}
void kafetiera::status()
{
cout<<":"<<kafes<<endl;
cout<<":"<<gala<<endl;
cout<<":"<<zaxari<<endl;
cout<<":"<<nero<<endl;
}
.....
main()
{
kafetiera kaf1(100,50,200,1000),kaf2(10,10,10,10),kaf3;
kaf3=kaf1+kaf2;
kaf3.status();
kaf3(1,2,3,4);
kaf3.status();
kaf1(1,2,3,4);
kaf1.status();
if (kaf1==kaf3)
cout<<" "<<endl;
else
cout<<" "<<endl;
kaf1=10*kaf3;
kaf1.status();
}

 kafetiera: :110
kaf1,kaf2 kaf3. :60
:210
 kaf3=kaf1+kaf2, :1010
kaf3 kaf1 kaf2, :1
:2
+. :3
 kaf3(1,2,3,4), - :4
:1
(), - :2
kaf3 1,2,3 4. :3
 kaf1==kaf2 :4
== .
:10
 10*kaf3 - :20
* - :30
kaf3. :40
kaf1.

86

You might also like