Force típusú C + +

December 17, 2008

Préselt típusok C + +: int, float, hosszú, dupla ez egyszerűen ... ne mondd : D

Minden osztály (class) lehet tekinteni, mint egy új adattípus, míg a számítások néha kell hatályba típusát egy osztály modell áll rendelkezésre. Például, építésére osztályok SOTHUC (valós) az ilyen műveletek "plusz", "csak", "emberi", "oszd meg," nyilvánvalóan nem tudjuk elvégezni a két műveletet épülő modell SOTHUC állnak más típusok, int, float, ... hogy ezt már két módja van: teher a férj, hogy adjunk több piaci szereplő a betűstílust SOTHUC álló, vagy "erő típusú" class SOTHUC (valós) A típus int, float ... számítások elvégzésére.

A hatályos típusú osztály: Préselt az osztályból egy modell áll rendelkezésre, vagy nyomást osztály típus áll rendelkezésre összeállításáról szóló Dev-C + + mi a következő:

- Juice egy osztály modell áll rendelkezésre:

name> fodrozódik> osztály
(
helyett> tenbien <kieu adatok;
állami:
...
<kieu san> adatkezelő ()
(
....
<Gia Visszatérési típusa adatátviteli ve>;
)
)

Használják a következők szerint:

name> lenyes> ex / / ex-osztályú objektumok bejelentett

Most kell nyomnia egy ex objektum típus áll rendelkezésre, mi a C + + használni az alábbiak szerint:

EX1 san> <kieu adatok;

EX1 = <kieu san> adatok (ex); / *, hogy milyen típusú volt a préselt <kieu san> adatai (típus EX1 van), akkor a hozzárendelt EX1 * /
Vagy használja
EX1 = ex; / * A program automatikusan nyomni, hogy milyen típusú ex <kieu san> adatai (típus EX1 van), akkor a hozzárendelt EX1 * /

Ahhoz, hogy megértsük jobban, lásd a következő példát:

Tegyük fel, hogy építünk egy réteg nagy egész számok a következők:

largeInt osztály
(
char * értéket;
állami:
largeInt ();
largeInt (largeInt const &);
~ LargeInt ();
Készítette és üzemeltető barát>> (Készítette és, largeInt &);
barátom ostream & operátor <<(ostream &, const largeInt &);
largeInt üzemeltető + (const largeInt &);
largeInt üzemeltető - (const largeInt &);
largeInt üzemeltető - ();
largeInt üzemeltető * (const char &);
largeInt üzemeltető * (const largeInt &);
largeInt üzemeltető / (const largeInt &);
szereplőt, hogy egy int int ();// ep
);

+,-,*,/ Üzemeltetők, amit csak a férj betöltött DC 2 azonos objektumosztály largeInt:

Ha nincs erő típusa üzemeltetője:

largeInt x1, x2, x, cin>> x1>> x2, int y y1;
x = x1 + x2 / / történik
y = x1 / / nincs megvalósítva
y = x1 9 / / nem történt
y = 9 + 1 db / / nincs megvalósítva
x = y1; / / nincs megvalósítva

Amennyiben az üzemeltető sürgető stílus:

largeInt x1, x2, x, cin>> x1>> x2, int y, Y1;
x = x1 + x2 / / történik
y = x1 / / a program végrehajtásának automatikusan hatályba típusú int x1
y = x1 9; / * nem lehet tenni, hogy a cím az erő típusa int x1: y = int (x1) 9   * /
y = 9 + x1; / * Ez megtörtént, a program automatikusan nyomni, hogy milyen típusú x1 int * /
x = y1; / / még nem hajtották végre

- Juice egy típus áll rendelkezésre a class (osztály) olyan adattípus, hogy mi határozza meg:

C + + nem teszi lehetővé a piaci szereplők, hogy új meghatározásokat, így nem vonatkozik, hogy hogyan hatályba típusú, ebben az esetben:

Hogyan jelentsd:

largeInt osztály
(
char * értéket;
állami:
...
szereplőt, hogy egy int int ();// ep
largeInt üzemeltető () / / Érvénytelen
);

Érvénytelen, és nem a largeInt üzemeltető ();

Mit kell tennem, hogy hatályba egyfajta rendelkezésre álló adatok körülbelül egy osztály? Van két módja van: A funkciók (barát) használt erő típus és tartalom létrehozása (kivitelező) a hatályban lévő típus. Ha használja a funkciót erő adja meg a függvény neve nem azonos az osztály nevét, ez a gyengeség e, tegyük fel, egy nagy osztályban számok (largeInt) a fenti, az erő egy x típusú int, hogy írja ezeket largeInt lehet csak használni largeint (x), convertToLargeInt (x) ... nem lehet használni largeInt (x), igazi kellemetlenséget. Így hozzászokott erő típusú kivitelező, hogy nyilvánítsa az alábbiak szerint:

name> fodrozódik> osztály
(
helyett> tenbien <kieu adatok;
állami:
...
name> lenyes> (<kieu san> adatok)
(
bíróság <<"erő típusa rendelkezésre álló adatok réteg stílust";
)
)

Visszatérés osztály példák nagy számban látunk a fenti

Ha nincs konstruktor "erő típus"

largeInt x1, x2, x, int y, y1;
...
x = y1; / / nem történt

Miután a kivitelező "erő típus"

largeInt x1, x2, x, int y, y1;
...
x = y1; / / Végezze el a program automatikusan a préselt largeInt int

Megjegyzés: csak az auto-force típusú kivitelező, míg célhoz kötött, így

largeInt x1, x2, x, int y, y1, y2;
...
v = y1 x1 + / / nem tett ADDRESS
largeInt x = x1 + (y1); / / sor
x = y1 + x1; / * megtett, automatikusan a préselt int x1, összege, automata prések largeInt eredmények alapján, és az x * /
x = y1 + y2 / / történik

Részvény és élvezze:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • email
Címkék:
  1. hihipro
    Május 3., 2009-on 23:36

    Én csináltam kapcsolódó gyakorlataiban nagy számban, de nem kezelt NTN BJT elhalványulnak, akkor neki a kód nem a nagy NEM!
    Köszönet tehát sok! (*)(*)(*)

  2. Május 5., 2009-on 1229

    #:-S Réges-régen, nem biztos, ha dobni. Találni az új értékesítési találtak : D
    Ön itt van :-)

  3. Rocket80
    November 15, 2009-on 1235
    : L Barátom, én is szeretném acne minden nagy egész, úgy néz ki, mint a linkre vagy másold, majd meghal, nem le a ^:) ^
  4. rocket80
    November 20, 2009-on 16:13
    AS te drága, te kutatás típuskonverziójára szolgáltatók, amelyek megtalálták nagyon kevés keresés google erről a dokumentumban, akkor nézze meg az én kis véleménye, vagy nem, köszönöm sok otthonban :-P
    November 20, 2009 20:22

    Mindezen problémák kényszerítették a modell a fent leírt, majd a : D