1) friend public, protected, private.
2) friend : , , .
3) . , , , .
20
float, double, int, long +, -, *, /, %, +=, -= . , , .
-, : plus () , plusequal () += .. . +, += . .
, :., .*, ::, ?:.
:
1) , ;
2) , friend ( ) .
. :
_& operator (_& )
+= .
# include <stdio.h>
Class comp
{
Float Re, Im;
public:
Comp (float a, float b)
{
Re=a;
Im=b;
}
comp& operator += (comp& x)
{
Re+=x.Re;
Im+=x.Im;
return *this;
}
void put_info (char *Str)
{
printf (%s.Re=%f %s.Im=%f\n, Str, Re, Str, Im);
}
};
Void main ()
{
Comp C1 (2, -2), C2 (-2, 2);
C1+=C2;
C1.put_info (C1);
}
+= 1 . += this. . *this. , . :
friend comp operator + (comp& C1, comp& C2);
, . :
# include <stdio.h>
Class comp
{
Float Re, Im;
public:
Comp (float a, float b)
{
Re=a;
Im=b;
}
Comp ()
{
}
friend comp operator + (comp& C1, comp& C2);
void put_info (char *Str)
{
printf (%s.Re=%f %s.Im=%f\n, Str, Re, Str, Im);
}
};
Void main ()
{
Comp C1 (2, -2), C2 (-2, 2);
Comp C3;
C3=C1+C2;
C3.put_info (C3);
}
comp operator + (comp& C1, comp& C2);
{
Comp V;
V.Re=C1.Re + C2.Re;
|
|
V.Im=C1.Im + C2.Im;
Return V;
}
:
1) , float, double, int, long, -;
2) - float, double, int, long;
3) - , , ;
4) - ;
5) operator = () - .
21
-
- - , . , , . static.
static _-.
,
lass A
{
static int x; //
:::::
};
int A:: x = 125; //
. . ! , static, . . , , . , , :
_:: _=.
, , , .