, .
struct _3d { double x, y, z; double mod () {return sqrt (x*x + y*y +z*z);} double projection (_3d r) {return (x*r.x + y*r.y + z*r.z) / mod();} _3d operator + (_3d b); }; |
, . mod() protection() . : , - , "+".
, . - , , #include. , , , . , , ( inline ). . , inline .
( ), inline :
inline _3d _3d::operator + (_3d b)
{
_3d c;
c.x = x + b.x;
c.y = y + b.y;
c.z = z + b.z;
return c;
}
"+" .
, , . -, inline . -, ++ , .
, inline , . - (, , switch goto) , .
. _3d struct{}, , , . , , , , , :
_3d vectorA;
double m;
vectorA.x = 17.56;
vectorA.y = 35.12;
vectorA.z = 1.0;
m = vectorA.mod();
, , , , , . _3d :
class _3d
{
double x, y, z;
public:
double mod () {return sqrt (x*x + y*y +z*z);}
double projection (_3d r) {return (x*r.x + y*r.y + z*r.z) / mod();}
_3d operator + (_3d b);
};
" " . . , , .
:
class _3d
{
set() ( !).
: x, y z , , (. projection(...) "+"), - .
, , , , . ++ , . . , , , . , , .
++ , . , . , . , . , void.
, , . . , , . , . .
++ : "~_". , , . .
class _3d
{
double x, y, z;
public:
_3d();
~_3d()
{
cout << ' _3d \n';
}
double mod () {return sqrt (x*x + y*y +z*z);}
double projection (_3d r) {return (x*r.x + y*r.y + z*r.z) / mod();}
void set (double newX, double newY, double newZ)
{
x = newX; y = newY; z = newZ;
}
};
_3d::_3d() // _3d
{
main()
{
_3d A; // A
// A.x = A.y = A.z = 0;
A.set (3,4,0); // A.x = 3.0, A.y = 4.0, A.z = 0.0
cout << A.mod()<<'\n';
}
:
_3d
5.0
_3d
. . , , .
class _3d
{
double x, y, z;
public:
_3d ();
_3d (double initX, double initY, double initZ);
...
};
_3d::_3d(double initX, double initY, double initZ)
// _3d
{
x = initX;
y = initY;
z = initZ;
cout << ' _3d \n';
}
main()
{
_3d A; // A
// A.x = A.y = A.z = 0;
A.set (3,4,0); // A.x = 3.0, A.y = 4.0, A.z = 0.0
_3d B (3,4,0); // B
// B.x = 3.0, B.y = 4.0, B.z = 0.0
}
_3d B = _3d (3,4,0);
, . , .
B A, . . , .
, . , , , . , .
, .. . , , , - ( ).
, , . .
, . , A B, A B. , . , , . , .
class ClassName1
{
int a, b;
public:
void set (int ia, int ib) {a=ia; b=ib;}
};
class ClassName2
{
int a, b;
public:
void set (int ia, int ib) {a=ia; b=ib;}
};
ClassName1 c1;
ClassName2 c2;
c2 = c1;
.
, , . , . ,
class Pair
{
int a, *b;
public:
void set (int ia, int ib) {a=ia; *b=ib;}
int getb (){return *b;}
int geta (){return a;}
};
main()
{
Pair c1,c2;
c1.set(10,11);
c2 = c1;
c1.set(100,111);
cout << '2.b = '<< c2.getb();
}
"c2.b = 111", 11, .
, , (.. ) .
class Pair
{
int a, *b;
public:
Pair operator = (Pair p)
{
a = p.a;
*b = *(p.b);
return *this;
}
...
};
.
class _3d
{
double x, y, z;
public:
_3d ();
_3d (double initX, double initY, double initZ);
double mod () {return sqrt (x*x + y*y +z*z);}
double projection (_3d r) {return (x*r.x + y*r.y + z*r.z) / mod();}
_3d operator + (_3d b);
_3d operator = (_3d b);
};
_3d _3d::operator = (_3d b)
{
x = b.x;
y = b.y;
z = b.z;
return *this;
}
, _3d , "+" "=". - , . this. , , , this. , .
- , - . "=" , (a=b=c). - this. , , - this.
, . , _3d, projection(...), operator +(...) operator = (...) _3d.
, ++ , . , , , , . , .
. , , , . . , ? , , , , ( , ) . , , , , , , , . , , , , , "", .
class ClassName
{
public:
ClassName ()
{
cout << ' \n';
}
~ClassName ()
{
cout << ' \n';
}
};
void f (ClassName o)
{
cout << ' f \n';
}
main()
{
ClassName c1;
f (c1);
}
f
. 1. : o, c1. , , , , , .
.
, : -, , , -, return. , , "" .
class ClassName
{
public:
ClassName ()
{
cout << ' \n';
}
~ClassName ()
{
cout << ' \n';
}
};
f
: 1 obj. . ? , 1, - obj. "" ( ) , . , . , , . , , , , .
, . .
:
_ (const _ & obj)
{
... //
}
obj . ( .) , . . -, . -, , . , , .
class ClassName
{
public:
ClassName ()
{
cout << ' \n';
}
ClassName (const ClassName& obj)
{
cout << ' \n';
}
~ClassName ()
{
cout << ' \n';
}
};
: .
, , . , , .
, , . , .
, ".". , . . "->".
, .
, &.
main()
{
_3d A (2,3,4);
_3d *pA;
pA = &A;
double dM = pA->mod();
}
++ , . , .
. , , , .
void ToZero (_3d *vec)
{++ , , .
void ToZero (_3d &vec)
{
vec.set (0,0,0); // " . "
}
main()
{
_3d A (2,3,4);
ToZero (A);
}
, , . , "*". , .
, - , , , , .
. -, , . -, , .
. this. , . "=", "=" . , , .
_3d& _3d::operator = (_3d& b)
{, , "=", .
10.11.2021 - 12:37: - Personalias -> WHO IS WHO - - _. 10.11.2021 - 12:36: - Conscience -> . ? - _. 10.11.2021 - 12:36: , , - Upbringing, Inlightening, Education -> ... - _. 10.11.2021 - 12:35: - Ecology -> - _. 10.11.2021 - 12:34: , - War, Politics and Science -> - _. 10.11.2021 - 12:34: , - War, Politics and Science -> . - _. 10.11.2021 - 12:34: , , - Upbringing, Inlightening, Education -> , - _. 10.11.2021 - 09:18: - New Technologies -> , 5G- - _. 10.11.2021 - 09:18: - Ecology -> - _. 10.11.2021 - 09:16: - Ecology -> - _. 10.11.2021 - 09:15: , , - Upbringing, Inlightening, Education -> - _. 10.11.2021 - 09:13: , , - Upbringing, Inlightening, Education -> - _. |