рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗред рдореИрдВрдиреЗ C ++ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдФрд░ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рд╛рдЧреВ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд▓рд┐рдП рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдЦреЛрдЬ рдХреАред рдореБрдЭреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд╕рдВрдж рдЖрдпрд╛, рдФрд░ рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдФрд░ рдкреНрд░рдХрд╛рд╢рди рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рдпрджрд┐ рд╕рд╛рдЗрдЯ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕ рд╡рд┐рд╖рдп рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдореИрдВ рдЕрдиреНрдп рд╕рдВрдмрдВрдзрд┐рдд рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рд╕рд╛рде рд╣реА рдЕрдиреНрдп рдХрдВрдкрдирд┐рдпреЛрдВ рд╕реЗ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рднреАред
1 рдкрд░рд┐рдЪрдп
рдпрд╣ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ C ++ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддреЛрдВ, рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЕрдиреБрднрд╡, рд╡рд┐рд╢реЗрд╖ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдФрд░ рдХреБрдЫ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреА рдЬрд░реВрд░рддреЛрдВ рд╕реЗ рдПрдХрддреНрд░ рдорд╛рдирдХреЛрдВ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдЪрдордХрддреА рд╣реИрдВ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)ред
рд▓реЗрдХрд┐рди рдЗрди рд╕реНрд░реЛрддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреА рдПрдХ рдФрд░ рд╕реВрдЪреА рдХреЗ рдЙрджреНрднрд╡ рдХреЗ рд▓рд┐рдП, рдХрдИ рдХрд╛рд░рдг рд╣реИрдВред рдореБрдЦреНрдп рдХрд╛рд░рдг рдЙрдирдХрд╛ рдЕрддреНрдпрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдпреАрдХрд░рдг рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдХреНрд╕рд░ рд╡рд┐рд╢реЗрд╖ рдирд┐рдпрдо (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдирд╛рдордХрд░рдг рдирд┐рдпрдо) рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ рд╣реИрдВ, рдЬреЛ рдЕрдиреНрдп рдореМрдЬреВрджрд╛ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХреЛрдб рдСрдбрд┐рдЯ рдЖрдпреЛрдЬрд┐рдд рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрдирд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рд╢реИрд▓реА рдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдФрд░ рддрдХрдиреАрдХреА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╡рд░реНрдгрди рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдирд╣реАрдВ рд╣реИред рдЗрд╕ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ C ++ рдкрд░ рдХреЛрдИ рддрдХрдиреАрдХреА рд╕рд▓рд╛рд╣ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рд╢реИрд▓реА рдХреЗ рдореБрджреНрджреЛрдВ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИред
рдореМрдЬреВрджрд╛ рд╡рд┐рдХрд╛рд╕ рд╡рд╛рддрд╛рд╡рд░рдг рдкрд╣реБрдБрдЪ рд╕рдВрд╢реЛрдзрдХ, рдХреЛрдб рд╣рд╛рдЗрд▓рд╛рдЗрдЯрд┐рдВрдЧ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реНрд╡рд░реВрдкрдг, рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рджрд┐рдЦрд╛ рдХрд░ рдХреЛрдб рдкрдардиреАрдпрддрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЗрди рдЙрдкрдХрд░рдгреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рди рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рд╡рд┐рдХрд╛рд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рдврд╛рдВрдЪреЗ рдХреЗ рднреАрддрд░ рдорд╛рдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рд▓рд┐рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рддрд╛рдХрд┐ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдкрдардиреАрдпрддрд╛ рдХреЛ рдЕрдзрд┐рдХрддрдо рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
1.1 рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдкреНрд░рд╛рд░реВрдк
рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рд╡рд┐рд╖рдп рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдЧреАрдХреГрдд рдХреА рдЬрд╛рддреА рд╣реИрдВ рдФрд░ рдХреНрд░рдорд╛рдВрдХрд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ рддрд╛рдХрд┐ рдХреЛрдб рд╕рдВрд╢реЛрдзрди рдХреЗ рджреМрд░рд╛рди рдЙрдиреНрд╣реЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рдЕрдиреБрд╢рдВрд╕рд╛рдПрдБ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХреА рдЬрд╛рддреА рд╣реИрдВ:
рдПрдиред рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдгред// ( )
, .
, ┬л┬╗, .
1.2
: , .
2
1. , .тАФ , , , . , .
2. , ., . . , ( ), .
, .
3
3.1
3. , , , .Line, SavingsAccount
C++.
4. , .line, savingsAccount
C++. , , : Line line;
5. ( ) .MAX_ITERATIONS, COLOR_RED, PI
C++. . тАФ :
int getMaxIterations() // : MAX_ITERATIONS = 25
{
return 25;
}
, .
6. , .getName(), computeTotalWidth()
, .
7. .model::analyzer, io::iomanager, common::math::geometry
C++.
8. .template<class T> ...
template<class C, class D> ...
C++. .
9. .exportHtmlSource(); // : exportHTMLSource();
openDvdPlayer(); // : openDVDPlayer();
, . dVD, hTML . ., . ; , ; , , , .
10. (::).::mainWindow.open(), ::applicationContext.getName()
. .
11. private
-.class SomeClass {
private:
int length_;
}
, тАФ . . , , , .
- , , :
void setDepth (int depth)
{
depth_ = depth;
}
, тАФ . , , . , тАФ . , .
12. , .void setTopic(Topic* topic) // : void setTopic(Topic* value)
// : void setTopic(Topic* aTopic)
// : void setTopic(Topic* t)
void connect(Database* database) // : void connect(Database* db)
// : void connect (Database* oracleDB)
. .
- , , .
:
Point startingPoint, centerPoint;
Name loginName;
13. -.fileName; // : imyaFayla
.
14. , , , тАФ ., , . , , , .
i,
j,
k,
l,
m,
n ( ),
c d ( ).
15. , .line.getLength(); // : line.getLineLength();
, , .
( тДЦ 16 .тАФ .)3.2
17. get/set
, .employee.getName();
employee.setName(name);
matrix.getElement(2, 4);
matrix.setElement(2, 4, value);
C++. Java - .
18. compute
, -.valueSet->computeAverage();
matrix->computeInverse()
, .
19. find
, - .vertex.findNearestVertex();
matrix.findMinElement();
, , .
20. initialize
, .printer.initializeFontSet();
initiali
ze, initiali
se. init.
21. , GUI, , .mainWindow, propertiesDialog, widthScale, loginText,
leftScrollbar, mainForm, fileMenu, minLabel, exitButton, yesToggle . .
, , , .
22. () .vector<Point> points;
int values[];
, , .
23. n
.nPoints, nLines
, .
24. No
.tableNo, employeeNo
, .
i: iTable, iEmployee. , .
25. - i, j, k
. .for (int i = 0; i < nTables); i++) {
:
}
for (vector<MyClass>::iterator i = list.begin(); i != list.end(); i++) {
Element element = *i;
...
}
, .
j,
k . . .
26. is
() .isSet, isVisible, isFinished, isFound, isOpen
C++, Java.
,
status flag.
isStatus isFlag , .
is :
has,
can should:
bool hasLicense();
bool canEvaluate();
bool shouldSort();
27. .get/set, add/remove, create/destroy, start/stop, insert/delete,
increment/decrement, old/new, begin/end, first/last, up/down, min/max,
next/previous, old/new, open/close, show/hide, suspend/resume, . .
.
28. .computeAverage(); // : compAvg();
. тАФ , , . :
cmd command
cp copy
pt point
comp compute
init initialize
. .
тАФ , - , /. . :
HypertextMarkupLanguage html
CentralProcessingUnit cpu
PriceEarningRatio pe
. .
29. .Line* line; // : Line* pLine;
// : Line* linePtr;
C/C++ . , C++ , .
30. () , .bool isError; // : isNoError
bool isFound; // : isNotFound
, , .
!isNotFound.
31. тАФ .enum Color {
COLOR_RED,
COLOR_GREEN,
COLOR_BLUE
};
, , , .
: Color::RED, Airline::AIR_FRANCE . .
, , : enum Color {...}. , .
32. Exception
.class AccessException
{
:
}
, .
33. (, - ) , , тАФ , ( void).. , , , .
4
4.1
34. C++ .h
() .hpp
. .c++
(), .C
, .cc
.cpp
.MyClass.c++, MyClass.h
, C++.
35. () , .MyClass.h, MyClass.c++
. тАФ , .
36. .class MyClass
{
public:
int getValue () {return value_;} // !
...
private:
int value_;
}
, . , , .
37. 80 .80 тАФ , , ; , . .
38. (, TAB) ., , , .
39. .totalSum = a + b + c +
d + e;
function (param1, param2,
param3);
setText ("Long line split"
"into two parts.");
for (int tableNo = 0; tableNo < nTables;
tableNo += tableStep) {
...
}
, 80 , , . , .
:
4.2
40. .#ifndef COM_COMPANY_MODULE_CLASSNAME_H
#define COM_COMPANY_MODULE_CLASSNAME_H
:
#endif // COM_COMPANY_MODULE_CLASSNAME_H
. .
41. ( , тАФ ) . .#include <fstream>
#include <iomanip>
#include <qt/qbutton.h>
#include <qt/qtextfield.h>
#include "com/company/ui/PropertiesDialog.h"
#include "com/company/ui/MainWindow.h"
. .
42. .. , ┬л┬╗ - .
5
5.1
43. , , ..
44. public
, protected
private
. .public,
protected/private.
45. . .floatValue = static_cast<float>(intValue); // : floatValue = intValue;
, , .
5.2
46. ., . :
int x, y, z;
getCenter(&x, &y, &z);
, - .
47. ., , . - .
48. .C++ ( .тАФ ). () , тАФ .
49. public
..
private . тАФ , ( C). .
, C++ C; . .
( тДЦ 50 .тАФ .)51. C++ , .float* x; // : float *x;
int& y; // : int &y;
, тАФ , , . C , C++ .
( тДЦ 52 .тАФ .)53. () .if (nLines != 0) // : if (nLines)
if (value != 0.0) // : if (value)
C++ , int float, , 0. .
, , , if (line == 0) if (line). C/C++, .
54. ..
5.3
55. for() , .sum = 0; // : for (i = 0, sum = 0; i < 100; i++)
for (i = 0; i < 100; i++) sum += value[i];
sum += value[i];
. , .
56. , , .isDone = false; // : bool isDone = false;
while (!isDone) { // :
: // while (!isDone) {
} // :
// }
57. do-while., . , .
do-while . while for.
.
58. break
continue
., .
( тДЦ 59 .тАФ .)60. while (true)
.while (true) {
:
}
for (;;) { // !
:
}
while (1) { // !
:
}
. for (;;) ; , .
5.4
61. . .bool isFinished = (elementNo < 0) || (elementNo > maxElement);
bool isRepeatedEntry = elementNo == lastElement;
if (isFinished || isRepeatedEntry) {
:
}
// NOT:
if ((elementNo < 0) || (elementNo > maxElement)||
elementNo == lastElement) {
:
}
. , .
62. if
, тАФ else
.bool isOk = readFile (fileName);
if (isOk) {
:
}
else {
:
}
, . .
63. .if (isDone) // : if (isDone) doCleanup();
doCleanup();
.
64. .File* fileHandle = open(fileName, "w");
if (!fileHandle) {
:
}
// :
if (!(fileHandle = open(fileName, "w"))) {
:
}
. /++.
5.5
65. ┬л┬╗ . , 0 1, ., . тАФ , .
66. .double total = 0.0; // : double total = 0;
double speed = 3.0e8; // : double speed = 3e8;
double sum;
:
sum = (a + b) * 10.0;
. , .
( ) (sum) , .
67. , , .double total = 0.5; // : double total = .5;
C++ , , . , 0.5 тАФ , .5 ( 5).
68. .int getValue() // : getValue()
{
:
}
, C++ , int. , , .
69. goto
.. (, ), .
70. ┬л0┬╗ ┬лNULL┬╗.NULL C C++.
6
6.1
71. .for (i = 0; i < nElements; i++)
a[i] = 0;
, . 4 , . 2, 3 4 ; 2 4 тАФ .
72. , 1 () 2, , 3. 2.while (!done) {
doSomething();
done = moreToDo();
}
while (!done)
{
doSomething();
done = moreToDo();
}
while (!done)
{
doSomething();
done = moreToDo();
}
3 , .
73. :class SomeClass : public BaseClass
{
public:
...
protected:
...
private:
...
}
, .
74. :void someMethod()
{
...
}
, .
75. if-else
:if (condition) {
statements;
}
if (condition) {
statements;
}
else {
statements;
}
if (condition) {
statements;
}
else if (condition) {
statements;
}
else {
statements;
}
, .
else , , :
if (condition) {
statements;
} else {
statements;
}
if-else . , ,
else.
76. for
:for (initialization; condition; update) {
statements;
}
, .
77. for
:for (initialization; condition; update)
;
, . , , .
78. while
:while (condition) {
statements;
}
, .
79. do-while
:do {
statements;
} while (condition);
, .
80. switch
:switch (condition) {
case ABC :
statements;
// "break"
case DEF :
statements;
break;
case XYZ :
statements;
break;
default :
statements;
break;
}
,
case , . . -
break, . , .
81. try-catch
:try {
statements;
}
catch (Exception& exception) {
statements;
}
, . ,
if-else, .
82. if-else
, .if (condition)
statement;
while (condition)
statement;
for (initialization; condition; update)
statement;
.
83. .void
MyClass::myMethod(void)
{
:
}
.
6.2
84.тАФ .
тАФ C++ .
тАФ .
тАФ .
тАФ
for .
a = (b + c) * d; // : a=(b+c)*d
while (true) // : while(true)
{
...
doSomething(a, b, c, d); // : doSomething(a,b,c,d);
case 100 : // : case 100:
for (i = 0; i < 10; i++) { // : for(i=0;i<10;i++){
...
. . C++. .
85. , .doSomething (currentFile);
. . , (doSomething()).
. : doSomething( currentFile );. ; , (doSomething( currentFile);).
86. .Matrix4x4 matrix = new Matrix4x4();
double cosAngle = Math.cos(angle);
double sinAngle = Math.sin(angle);
matrix.setElement(1, 1, cosAngle);
matrix.setElement(1, 2, sinAngle);
matrix.setElement(2, 1, -sinAngle);
matrix.setElement(2, 2, cosAngle);
multiply(matrix);
.
87. ..
88. .AsciiFile* file;
int nPoints;
float x, y;
.
тАФ .
89. , .if (a == lowValue) compueSomething();
else if (a == mediumValue) computeSomethingElse();
else if (a == highValue) computeSomethingElseYet();
value = (potential * oilDensity) / constant1 +
(depth * waterDensity) / constant2 +
(zCoordinateValue * gasDensity) / constant3;
minPosition = computeDistance(min, x, y, z);
averagePosition = computeDistance(average, x, y, z);
switch (value) {
case PHASE_OIL : strcpy(phase, "Oil"); break;
case PHASE_WATER : strcpy(phase, "Water"); break;
case PHASE_GAS : strcpy(phase, "Gas"); break;
}
, , .
6.3
90. , , , !, .
91. .тАФ .
92. //
, .// ,
// .
,
/* */ .
// , .
93. , , .while (true) { // : while (true) {
// Do something // Do something
something(); something();
} }
, , .
94. JavaDoc.Java Javadoc, HTML .
C++. , JavaDoc (., , Doc++ Doxygen).
7