.


:




:

































 

 

 

 


Delphi




C++Builder typedef . C++Builder (template class). , , . VCL , , Delphi.

Delphi C++Builder:

Delphi C++Builder
Shortint 8- char typedef
Smallint 16- short typedef
Longint 32- long typedef
Byte 8- unsigned char typedef
Word 16- unsigned short typedef
Integer 32- int typedef
Cardinal 32- unsigned long typedef
Boolean true/false bool typedef
ByteBool true/false 8- unsigned char typedef
WordBool true/false 16- unsigned short typedef
LongBool true/false 32- unsigned long typedef
AnsiChar 8- unsigned char typedef
WideChar - Unicode wchar t typedef
Char 8- char typedef
String Delphi AnsiString typedef
Single 32- float typedef
Double 64- double typedef
Extended 80- long double typedef
Real 32- float typedef
Comp 64- double typedef
Pointer 32- void * typedef
PChar 32- unsigned char * typedef
PansiChar 32- ANSI unsigned char * typedef
Set 1..32 Set<type, minval, maxval> template class
AnsiString Delphi AnsiString class
Variant , 16 Variant class
TdateTime , 64- TDateTime class
Currency , 64- , 4 Currency class

Set () VCL , . C++Builder Delphi Set<type, minval, maxval> :

type (, int. char enum):

minval () , ;

maxval ( 255) , .

Set , if (si == s 2) ,

Set<char, 'A', 'C'> si;

Set<char, 'X', 'Z'> s2;

. Set typedef. , typedef Set<char, 'A','Z'> UpperCaseSet; UpperCaseSet si; UpperCaseSet s2; :

s1 '' '' '';

s2 'X' 'Y' '?.';

AnsiString , :

\0

C++Builder Delphi . , AnsiString . str (), , 0 , AnsiString. 3.18 " FNames Names AnsiString MyFamily Family". , - . .

#include <vcl/dstring.h> #include <stdio.h> class Family //

{

private:

AnsiString FNames[10]; // AnsiString GetName(int Index); // void SetName(int, AnsiString); // public:

_property AnsiString Names[int Index] =

{read=GetName, write=SetName};

Family(){} //. -Family(){) //

};

AnsiString Family::GetName(int i)

{

return FNames[i]; // GetName }

void Family::SetName(int i, const AnsiString s) { FNames[i]=s; // SetName

}

void main()

{

Family My Family; // MyFamily // 4- SetName() MyFamily.Names[0]="";

MyFamily.Names[1]="";

MyFamily.Names[2]="";

MyFami ly. Names [ 3 ] = " ";

// 4- GetName() for (int i=0; i<=3; i++)

puts(MyFamily.Names[i].c_str());

}

3.18. AnsiString C++ Family ().

Variant , . , , . C++Builder Delphi class __declspec(delphireturn) Variant: public TVarData. , , Delphi, :

V: Variant;

V:= VarArrayCreate([0,Hi9hVal,0,HighVal],varlnteger);

C++Builder:

Variant V(OPENARRAY(int,(0,HighVal,0,HighVal)),varlnteger);

: short, int, float, double. Currency, TDateTime, bool, WordBool, Byte, AnsiString&, char *, wchar_t * const. 01e2::lDispatch* const 01e2::IUnknown* const. . Unassigned ( ). Null , .

: , , , .

TDateTime . C++Builder Delphi , double, , ( 30 1899 ). TDateTime :

  12/30/1899 12:00 +0 , +0
2.75 01/01/1900 18:00 +2 , +6
-1.25 12/29/1899 06:00 -1 , -
  01/01/1996 12:00 +35065 , +0

, , . , , 1 .

3.6.2 ANSI C++

ANSI C++, , , , .

" " , , .

3.6.2.1

( ) .

template < > { };

.

. (, ), , , , :

template <class > ( . ) { return (x > )? : ; };

, <class T>, . :

int i;

Myclass a, b;

int j = max(i, 0); // int Myclass m = max(a, b); // Myclass

. max - , . C++ :

#define max(x,y) (( > )? : ) - , C++ . , (, ) - . , , , int struct.

. Vector - :

template <class T> class Vector

(, , ..), . , .

, :

class Vector<char *> (... };

Vector , .

3.6.2.2

. . , . , , (, ), . , , - . C++ (namespace).

, , , - . , namespace:

namespace <> { [<>] } :

:

ALPHA :: varl; // ALPHA BETA :: Fl; // BETA

:

using namespace:: ALPHA; // ALPHA

:

using:: new_name; //

3.6.2.3

, , , () . explicit:

explicit < > explicit , ( 3.19). .

class X

public:

explicit X(int);

explicit X(const char*, int = 0);

};

void f(X arg)

(

X a = X (1);

X b = ("",0);

a = (2);

}:(

3.19. .

, , .

3.6.2.4

, , -, volatile:

volatile <> < >;

C++ volatile -. , , , . . register. 3.20 , ticks .

volatile int ticks;

void timer() //

ticks++;

void wait (int interval)

ticks = 0;

while (ticks < interval); //

}

3.20. volatile.

, timer . wait , ticks , . C++ volatile ticks - , . "" .

, , mutable:

mutable < >;

mutable , . 3.21 , count F1.

class A {

public: mutable int count; int F1 (int p = 0) const // F1

count = p++ return count; //PI count

) I

void main() {

A a;

cout a.Fl(3) end.1; // main 4)

3.21. mutable.

3.6.2.5 RTTI

RTTI (Run-Time Identification) , , . , , . , - , - . dynamic_cast.

RTTI , , . typeid typeinfo, .

RTTI , C++Builder .

3.6.2.6

C++ . C++Builder (), . C++Builder .

, , , , , . (exception throwing) , , . (exception handler), . , . , Ctrl+C, .

, , try . try , :

1. .

2. , .

3. , terminate .

, , catch . try. , , . , catch. goto, , , try. 3.22 .

try

i

// ,

} 1

catch ( X) |

{ I

// , |

// try // try catch (...)

// try

3.22. .

, throw <> , . , , .

- , "" . , 5 .

3.7

- C++ . , , , , . , - , , .

.





:


: 2015-10-01; !; : 643 |


:

:

- , .
==> ...

1929 - | 1725 -


© 2015-2024 lektsii.org - -

: 0.063 .