Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> C /C + + -programmering >> Content

    Hur man använder C + + class Mallar

    Anta att du vill bygga en C + + klass för att representera komplexa tal eftersom C + + omfattar inte en datatyp för dem . Den " Complex " klass måste hantera tal av typen int , float och double . Du kan upprepa samma kod tre gånger , eller du kan skriva det en gång och använda mallar som stödjer generiska datatyper . I slutet kommer din klass ser ut som en av de STL container klasser . Instruktioner
    1

    Bekanta dig med mallsyntax om du inte redan . Att förklara en mall klass , infoga följande kodrad omedelbart ovanför klassdeklarationen , som visas :
    mall
    class Complex {
    //etc. ..

    2

    Observera att " mall " och " class " är nyckelord . " T " är det namn du ger den generiska datatypen . T kan ta formen av en int , float eller double . Du måste alltid bifoga " klass " och " T " i hakparenteser . Du kan också använda nyckelordet " TypeName " i stället för " klass . " Även om dessa sökord har en något annorlunda betydelse i C + + , inom ramen för denna tutorial , de är likvärdiga .
    3

    Använd " T " i klassen kroppen deklaration där du vill generiska bearbetning . Medlemsinformation " riktiga " och " imag " är av typ T , eftersom de kan ta identiteten på valfritt antal slag . Delfunktionen Real ( ) är prototyped med T eftersom det kan returnera antalet typen int , float eller double :
    mall
    class Complex {
    T real , imag ,
    allmänheten :
    Complex ( const T R , const T i) : real ( ( T ) 0 ) , ( ( T ) 0 ) { } T Real ( ) const; Twitter //etc. ..

    4

    Upprepa mallen definition för varje medlem funktion du definierat utanför klassen kroppen . Dessutom , placera T parameter inuti vinkelparenteser och sätt den mellan klassens namn och omfattning operatören , enligt följande :
    mall
    T Complex < T > :: Real ( ) const {
    avkastning real ,
    }
    5

    Demonstrera ett komplext objekt som använder int och en som använder float :
    int main ( ) {
    Complex ni ( 4 , -5 ) , //blankett 4 - J5
    Complex nf ( 4.F , - 5.f ) , //blankett 4.0 - j5.0
    cout cout }
    6

    Lär dig använda container klasser såsom vektor < T > och algoritmer såsom copy ( ) . Studera STL . Sedan Standard Template Library är ett generiskt bibliotek byggd av mallar , är det en utmärkt plats att lära sig att bygga generiska klasser med hjälp av mallar .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Hur fixar Visual C Påstående Underlåtenhet
    ·Hur man använder en STL Vector Iterator
    ·Mobile C # Development Tutorial
    ·Hur du kontrollerar om två matriser har samma element …
    ·Hur Multiplicera flera heltal i C
    ·Söka efter en fil i C #
    ·Lägga till två matriser Använda Pekare
    ·Hur man använder en funktion pekare i heltalselementet…
    ·Hur man kompilerar C -kod som ett bibliotek
    ·Så se anropsstacken i GDB
    Utvalda artiklarna
    ·Hur man gör en Keygen i VB6
    ·Hur man installerar en stor storlek formulär med VB6
    ·Hur man skapar en variant för SM30
    ·Hur du uppdaterar Xcode från terminaler
    ·Hur öppna SIP -filer
    ·Ta bort en Connection String i Visual Studio
    ·Hur Lista diskar i Python
    ·Sätten att namnge resurspaket i Java
    ·OpenText Metod i VBA
    ·Konvertera Float till String i C + +
    Copyright © Dator Kunskap http://www.dator.xyz