++ - , () . , ( ) . , () . , , , , , (, ) , , . , , .., (.. , , , ).
, . , () , , , , , - , , , ... .
++ ( ) private (), protected (), public (). , , . struct, , , class, . . :
class F { // class, // c // , , // (private)
; //private
; //private
public: //C , //, //
|
|
; //public
; //public
};
. (private), (public).
class comp { // () comp
double Re, Im;
static int count;
public: // () comp
comp (){Re= 0; Im= 0; count++;} // ( )
comp(double r, double i) {Re = r; Im = i; count++;} //
comp(comp &T) { Re= T.Re; Im = T.Im; count++;} //
comp(double r) {Re = r; Im=0; count++;} //
~comp(){count--;} //
void display(){cout<<\n Re =<<Re<<\t Im =<<Im;}// display()
static int GetCountComp(){return count;}
void SetRe(double r){Re = r;}
void SetIm(double i){ Im = i;}
double GetRe(){return Re;}
double GetIm(){return Im;}
friend comp raz(comp& A, comp& B);
};
int comp::count = 0; //
Re, Im count omp , comp. , Re= T.Re; , main(), . , comp, SetRe(), SetIm(), GetRe(), GetIm(), . , online (), , , .
sum () , Re Im SetRe(), SetIm(), GetRe(), GetIm().
( ) sum()
comp sum(comp A, comp& ){
comp D;
D.SetRe(A.GetRe() +.GetRe());
D.SetIm (A.GetIm() +.GetIm());
return D;
}
sum (), . , ++. , , . . , friend, raz().
( ) raz()
comp raz(comp& A, comp& ){
comp D;
D.Re = A.Re -.Re;
D.Im = A.Im -.Im;
return D;
}
, comp .
|
|
, , , .. .
, :
, ;
( ):
class CL { friend int f1 (...);... };
int fl(...) { _ }
:
class CL1 {... char f2 (...);... };
class CL2 {... friend char CL1::f2(...);... };
CL1 c f2 () CL2. (CL1) (CL2), , (CL).
:
// class CL2;
class CL1 { friend void ff{CLl,CL2);... };
class CL2 { friend void ff{CLl,Cl2);... };
void ff(CL1 cl,CL2 c2) { _ }
, . , . , " ". , :
class X2 {
friend class X1;
};
class X1 {... //
void f1(...);
void f2(...);
};
f1 f2 X1 2, friend.
X2 X1. (), .
, , () .
, {function template) . :
template <__> _
. .
:
template <__>
, . , , . , .
, .
++, ( ). (, , ..), , .. , ( ) .
:
template <class T> // -
class Vector {
|
|
*data; //
int size; //
public:
Vector(int); // vector
~Vector() { delete[] data; } //
// () "[]":
& operator[] (int i) { return data[i]; }
};
// :
template <class T>
Vector<T>::Vector(int n) { data = new T[n]; size = n; };
, , . , :
__<__> _ (_);
, double, :
Vector <double> Z(8); :
#include "templatevec.h" // ""
#include <iostream.h>
main(){ // " ":
Vector <int> (5);
// " ":
Vector <char> C(5);
// :
for (int i = 0; i < 5; i++) { X[i] = i; C[i] = 'A' + i;}
for (int i = 0; i < 5; i++) cout << " " << X[i] << ' ' << C[i]; }
:
0 A 1 B 2 Ѡ 3 D 4 E
vector . , ( Vector), (), . . int char. Vector - .
, , - , :
#include <iostream.h>
template <class T, int size = 64>
class row {
T *data;
int length;
public: row() { length = size; data = new T[size]; }
~row() { deleted data; }
T& operator [] (int i) { return data[i]; }
};
void main () {
row <float,8> rf;
row <int> ri;
for (int i = 0; i < 8; i++) { rf[i] = i; ri[i] = i * i; }
for (i = 0; i < 64; i++) cout<<" " << rf[i] << ' ' << ri[i];
}
:
0 0 1 1 2 4 3 9 4 16 5 25 6 36 7 49
, size, . , , , .
1. , .
2. .
3. .
4. .
5. define .
6. .
|
|
7. .
8. , +, ‑
9. ,
10.
1. ?
a)
b)
c) .
2. ?
a) .
b)
c) .
3. ?
a) struct
b) typedef
c) define
4. , :
a)
b)
c)
5. , :
a)
b)
c)
6. ?
a) extern
b) auto
c) static
7. this?
a) .
b)
8. ?
a)
b)
c)
d)
9. ?
a)
b)
c)
d)
10. ?
a)
b)
c)
d)
11. ?
a)
b)
c)
d)
12. this?
a)
b)
c)
13. ?
a) +
b) ‑
c) #
14. ?
a)
b)
c) ,
15. ?
a)
b)
c) ,
16. public?
a)
b)
c)
17. protected?
a)
b)
c)
18. private?
a)
b)
c)
19.
a) Template
b) Private
c) Typedef
20. 18 ?
a)
b)
c) , .
1 | A | 11 | D |
2 | A | 12 | C |
3 | A | 13 | C |
4 | B | 14 | B |
5 | C | 15 | B |
6 | C | 16 | A |
7 | A | 17 | C |
8 | A | 18 | B |
9 | B | 19 | A |
10 | C | 20 | C |
. , , .
85 100% - ;
70 84% - ;
55 69% - ;
55% - .
5