Prob mit Klasse Trigometrie ...



  • Hi Leutz ...

    Hab mal versucht mir eine Klasse für Funktionen der Trigometrie zu coden ...
    bzw erstma nur Cosinus, Sinus, Tangens ...

    Das ist dabei rausgekommen:

    Die Header - Datei:

    //#################################
    // CFunction.h
    // Erstellungs Datum: 25.04.2004
    // Autor: DaRkWolF
    //#################################
    
    #ifndef _CFunction_
    #define _CFunction_
    
    using namespace std;
    
    // ####################   KLASSE/TRIGOMETRIE ############################
    
    class Trigometrie {              //  Klasse für Cosinus, Sinus, Tangens
    
    private:
    
    	int    Grad, x;
    	double Bogenmass, cosinus, tangens;            // Membervariablen
    
        const long double  PI = 3.1415926535897932384626433832795;
    
    public:
    
    	double saveSing(int );       // Memberfunktionen
    	void   readSing();
    
    	double saveCos(int );
    	void   readCos();
    
    	double saveTang(int );
    	void   readTang();
    
    };
    
    Trigometrie::saveSing(){
    
    	cout << "\nBerechnung von Sinus:";
    	cout << "\nBitte geben sie den Winkel in Grad ein:"<< endl;
    	cin  >> Grad; 
        Bogenmass = (PI * Grad) / 180; 
        x = sin( Bogenmass );
    
        cout << "\n" << endl;
    
    }
    
    Trigometrie::readSing(){
    
    	cout << "Bogenmass: " << Bogenmass/PI << "* PI" << endl; 
        cout << "Sinus:     " << x                      << endl;
    
    	cout << "\n";
    
    }
    
    Trigometrie::saveCos(){
    
       cout << "\nCosinus-Berechnung:" << endl;
       cout << "\nBitte geben sie den Winkel in Grad ein:" << endl;
       cin  >> Grad;
    
       Bogenmass = (PI * grad) / 180;
    
       x = cos( Bogenmass );
    
       cosinus = cos(grad);
    
    	cout << "\n" << endl;
    
    }
    
    Trigometrie::readCos(){
    
        cout << "Bogenmass: " << Bogenmass/PI << "* PI" << endl; 
        cout << "Cosinus:   " << cosinus                << endl;
    
    	cout << "\n";
    
    }
    
    Trigometrie::saveTang(){
    
    			  cout << "\nTangens-Berechnung:" << endl;
    
    			  cout << "\nBitte geben sie den Winkel ein:" << endl;
    
    			  cin  >> Grad;
                  bogenmass = (PI * grad) / 180; 
                  x = tan( Bogenmass );
    
    			  tangens = tan(Grad);
    
    			  cout << "\n" << endl;
    
    }
    
    Trigometrie::readTang(){
    
    	cout << "Bogenmass: " << Bogenmass/PI << "* PI" << endl; 
    	cout << "Tangens:   " << tangens                << endl;
    
        cout << "\n";
    
    }
    
    //###################  GRUNDRECHENARTEN (1) ############################
    
    int CAdd(int a, int b){          
    
    	return a+b;
    
    }
    
    int CSub(int a,int b){         
    
    	int Ergebnis = a-b;
    
    	return Ergebnis;
    
    }
    
    int CMulti(int a,int b){        
    
    	int Ergebnis = a*b;
    
    	return Ergebnis;
    
    }
    
    float CDiv(int a,int b){           
    
    	double Ergebnis = a/b;
    
    	return Ergebnis;
    
    }
    
    int CModulo(int a, int b){      
    
    	int Ergebnis = a%b;
    
    	return Ergebnis;
    
    }
    
    double CWurzel( double a){         
    
    	return sqrt( a );
    }
    
    int CPot( int a){
    
        return a * 2; 
    
    }
    
    // ###########################################################################
    
    #endif
    

    Und hier meine main.cpp zum Testen der Klasse:

    // test Klasse/Trigometrie
    // bspTrigp.cpp
    
    #include <iostream>
    
    using namespace std;
    
    #include "CFunction.h"
    
    int main(){
    
    	 Trigometrie Trigo;         // Instanz "Trigo" der Funktion Trigometrie
    
    	 Trigo.saveSing();
    	 Trigo.saveCos();
    	 Trigo.saveTang();
    	 cout <<"\nWert in Sinus      :" << Trigo.readSing() << endl;
    	 cout <<"\nWert in Cosinus    :" << Trigo.readCos()  << endl;
    	 cout <<"\nWert in Tangens    :" << Trigo.readTang() << endl;
    
    	return 0;
    
    }
    

    Hab irgendwie voll keinen plan was ich da wieder falsch gemacht habe, denn der Compiler gibt mir verdamt viele Fehler. ... vom ding her müsste es aber richtig sein.

    **
    --------------------Configuration: FunktionsBibliothek - Win32 Debug--------------------
    Compiling...
    bspTrigo.cpp
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(31) : error C2258: illegal pure syntax, must be '= 0'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(31) : error C2252: 'PI' : pure specifier can only be specified for functions
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(49) : error C2511: 'saveSing' : overloaded member function 'int (void)' not found in 'Trigometrie'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(23) : see declaration of 'Trigometrie'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(66) : error C2556: 'int __thiscall Trigometrie::readSing(void)' : overloaded function differs only by return type from 'void __thiscall Trigometrie::r
    eadSing(void)'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(38) : see declaration of 'readSing'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(66) : error C2371: 'readSing' : redefinition; different basic types
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(38) : see declaration of 'readSing'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(70) : error C2065: 'PI' : undeclared identifier
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(80) : error C2511: 'saveCos' : overloaded member function 'int (void)' not found in 'Trigometrie'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(23) : see declaration of 'Trigometrie'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(102) : error C2556: 'int __thiscall Trigometrie::readCos(void)' : overloaded function differs only by return type from 'void __thiscall Trigometrie::r
    eadCos(void)'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(41) : see declaration of 'readCos'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(102) : error C2371: 'readCos' : redefinition; different basic types
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(41) : see declaration of 'readCos'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(115) : error C2511: 'saveTang' : overloaded member function 'int (void)' not found in 'Trigometrie'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(23) : see declaration of 'Trigometrie'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(139) : error C2556: 'int __thiscall Trigometrie::readTang(void)' : overloaded function differs only by return type from 'void __thiscall Trigometrie::
    readTang(void)'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(44) : see declaration of 'readTang'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(139) : error C2371: 'readTang' : redefinition; different basic types
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(44) : see declaration of 'readTang'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(209) : error C2065: 'sqrt' : undeclared identifier
    I:\Dokumente und Einstellungen\Leon Seichab\Desktop\MyProjects\Funktions&KlassenLibary\bspTrigo.cpp(16) : error C2660: 'saveSing' : function does not take 0 parameters
    I:\Dokumente und Einstellungen\Leon Seichab\Desktop\MyProjects\Funktions&KlassenLibary\bspTrigo.cpp(17) : error C2660: 'saveCos' : function does not take 0 parameters
    I:\Dokumente und Einstellungen\Leon Seichab\Desktop\MyProjects\Funktions&KlassenLibary\bspTrigo.cpp(18) : error C2660: 'saveTang' : function does not take 0 parameters
    I:\Dokumente und Einstellungen\Leon Seichab\Desktop\MyProjects\Funktions&KlassenLibary\bspTrigo.cpp(19) : error C2264: 'readSing' : error in function definition or declaration; function not called
    I:\Dokumente und Einstellungen\Leon Seichab\Desktop\MyProjects\Funktions&KlassenLibary\bspTrigo.cpp(20) : error C2264: 'readCos' : error in function definition or declaration; function not called
    I:\Dokumente und Einstellungen\Leon Seichab\Desktop\MyProjects\Funktions&KlassenLibary\bspTrigo.cpp(21) : error C2264: 'readTang' : error in function definition or declaration; function not called
    Error executing cl.exe.

    bspTrigo.obj - 19 error(s), 0 warning(s)
    **

    THX für alle antworten!
    ciao



  • double saveSing(int );
    Trigometrie::saveSing(){//<--int fehlt/double fehlt

    der rückgabewert fehlt dir generell überall

    const long double PI = 3.1415926535897932384626433832795;//ist schon im math definiert

    und dein schlimmster fehler ist:
    es heisst trigonometrie



  • du kannst PI nicht so in der Klasse definieren wie du das da hast.

    dann das:
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(49) : error C2511: 'saveSing' : overloaded member function 'int (void)' not found in 'Trigometrie'

    Rückgabewert...wo ist der? das double vor die Funktion...(overloaded member function 'int (void) <--- eigentliich sag das schon alles!)



  • Wenn Du eine Konstanten innerhalb einer Klasse mit einen Wert initialisieren willst, so musst Du das in der Initialisierungsliste des Constructors machen.



  • Hi!

    vielen Dank für die Antworten ... hab gestern ganz schön viel gefeiert bzw getrunken usw ... deswegen diese Fehler 😉

    danke soweit!

    @Asgard:

    Könntest du mir vielleicht ma ein kleines Beispiel geben wie sowas
    ausschauen sollte ?

    THX an alle!
    ciao



  • #define _CFunction_
    

    ist illegal. (underscore am anfang)
    using namespace ist in headern außerdem tabu.

    class Foo {
        const long double  PI = 3.1415926535897932384626433832795;
    };
    

    lieber so

    class Foo {
       static const long double PI;
    }
    
    //irgendwas.cpp
    const long double Foo::PI = 3.1415926535897932384626433832795;
    

    aber was viel fraglicher ist, ist das kapseln von sin, cos und tan in einer klasse. und was saveSing tut, ist nicht das, was sein name sagt. (eingabe vom user etc)



  • Verdammt ich weiß auch nicht .... ich bekomme immer noch 11 Fehler vom Compiler. Ich kann irgenwie nichts damit anfangen 😕

    Hab das jetzt alles soweit geändert:

    //#################################
    // CFunction.h
    // Erstellungs Datum: 25.04.2004
    // Autor: DaRkWolF
    //#################################
    
    #ifndef _CFunction_
    #define _CFunction_
    
    #include <cmath>
    using namespace std;
    
    Header:
    
    // ####################   KLASSE/TRIGOMETRIE ############################
    
    class Trigonometrie {              //  Klasse für Cosinus, Sinus, Tangens
    
    private:
    
    	int     Grad, x;
    	double  Bogenmass, cosinus, tangens;            // Membervariablen
    
        const long double  PI;
    
    public:
    
         Trigonometrie();                        
         ~Trigonometrie();  
    
    	void     saveData(int );       // Memberfunktionen
    	double   readSing();
    
    	void     saveData(int );
    	double   readCos();
    
    	void    saveData(int );
    	double  readTang();
    
    };
    
    void Trigonometrie::saveData(){
    
    	cout << "\nBerechnung von Sinus:";
    	cout << "\nBitte geben sie den Winkel in Grad ein:"<< endl;
    	cin  >> Grad; 
        Bogenmass = (PI * Grad) / 180; 
        x = sin( Bogenmass );
    
        cout << "\n" << endl;
    
    }
    
    double Trigonometrie::readSing(){
    
    	cout << "Bogenmass: " << Bogenmass/PI << "* PI" << endl; 
        cout << "Sinus:     " << x                      << endl;
    
    	cout << "\n";
    
    }
    
    void Trigonometrie::saveData(){
    
       cout << "\nCosinus-Berechnung:" << endl;
       cout << "\nBitte geben sie den Winkel in Grad ein:" << endl;
       cin  >> Grad;
    
       Bogenmass = (PI * grad) / 180;
    
       x = cos( Bogenmass );
    
       cosinus = cos(grad);
    
    	cout << "\n" << endl;
    
    }
    
    double Trigonometrie::readCos(){
    
        cout << "Bogenmass: " << Bogenmass/PI << "* PI" << endl; 
        cout << "Cosinus:   " << cosinus                << endl;
    
    	cout << "\n";
    
    }
    
    void Trigonometrie::saveData(){
    
    			  cout << "\nTangens-Berechnung:" << endl;
    
    			  cout << "\nBitte geben sie den Winkel ein:" << endl;
    
    			  cin  >> Grad;
                  bogenmass = (PI * grad) / 180; 
                  x = tan( Bogenmass );
    
    			  tangens = tan(Grad);
    
    			  cout << "\n" << endl;
    
    }
    
    double Trigonometrie::readTang(){
    
    	cout << "Bogenmass: " << Bogenmass/PI << "* PI" << endl; 
    	cout << "Tangens:   " << tangens                << endl;
    
        cout << "\n";
    
    #endif
    
    }
    

    cpp Datei:

    // test Klasse/Trigometrie
    // bspTrigp.cpp
    
    #include <iostream>
    using namespace std;
    #include "CFunction.h"
    
    Trigonometrie::Trigonometrie(){                // Konstruktor
    
    }
    
    Trigonometrie::~Trigonometrie(){              // Destruktor
    
    }
    
    int main(){
    
    	 Trigonometrie Trigo;         // Instanz "Trigo" der Funktion Trigometrie
    
    	 Trigo.saveSing();
    	 Trigo.saveCos();
    	 Trigo.saveTang();
    	 cout <<"\nWert in Sinus      :" << Trigo.readSing() << endl;
    	 cout <<"\nWert in Cosinus    :" << Trigo.readCos()  << endl;
    	 cout <<"\nWert in Tangens    :" << Trigo.readTang() << endl;
    
    	return 0;
    
    }
    

    Währ echt nett von euch wenn mir einer noch einen kleinen Tip gibt 😉
    komme echt nicht drauf 😑

    THX



  • du benutzt überall PI hast es aber nicht definiert! 😕



  • Online schrieb:

    du benutzt überall PI hast es aber nicht definiert! 😕

    Nö, er hat es niht initialisiert!



  • MaSTaH schrieb:

    Online schrieb:

    du benutzt überall PI hast es aber nicht definiert! 😕

    Nö, er hat es niht initialisiert!

    Wo hat er PI denn definiert?



  • Trigonometrie::Trigonometrie(){                // Konstruktor 
    //bitte hier wert von PI eintragen, danke
    
    }
    


  • Shade Of Mine schrieb:

    Wo hat er PI denn definiert?

    sorry. Mein fehler. ich habe gedacht er hat es richtig gemacht und static verwendet...



  • otze schrieb:

    Trigonometrie::Trigonometrie(){                // Konstruktor 
    //bitte hier wert von PI eintragen, danke
    
    }
    

    Das funktioniert bei mir nicht...

    Trigonometrie::Trigonometrie(){                // Konstruktor 
    3.1415926535897932384626433832795
    
    }
    


  • also bei mir gehts immer noch nicht ...
    hab alles so geändert wie ihr es mir gesagt habt.
    9 Fehler kommen noch vom Compiler:

    **
    --------------------Configuration: FunktionsBibliothek - Win32 Debug--------------------
    Compiling...
    bspTrigo.cpp
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(44) : error C2535: 'void __thiscall Trigonometrie::saveData(double)' : member function already defined or declared
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(41) : see declaration of 'saveData'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(47) : error C2535: 'void __thiscall Trigonometrie::saveData(double)' : member function already defined or declared
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(41) : see declaration of 'saveData'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(53) : error C2511: 'saveData' : overloaded member function 'void (void)' not found in 'Trigonometrie'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(26) : see declaration of 'Trigonometrie'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(74) : error C2065: 'PI' : undeclared identifier
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(84) : error C2511: 'saveData' : overloaded member function 'void (void)' not found in 'Trigonometrie'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(26) : see declaration of 'Trigonometrie'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(117) : error C2511: 'saveData' : overloaded member function 'void (void)' not found in 'Trigonometrie'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(26) : see declaration of 'Trigonometrie'
    I:\Dokumente und Einstellungen\Leon Seichab\Desktop\MyProjects\Funktions&KlassenLibary\bspTrigo.cpp(34) : error C2039: 'saveSing' : is not a member of 'Trigonometrie'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(26) : see declaration of 'Trigonometrie'
    I:\Dokumente und Einstellungen\Leon Seichab\Desktop\MyProjects\Funktions&KlassenLibary\bspTrigo.cpp(35) : error C2039: 'saveCos' : is not a member of 'Trigonometrie'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(26) : see declaration of 'Trigonometrie'
    I:\Dokumente und Einstellungen\Leon Seichab\Desktop\MyProjects\Funktions&KlassenLibary\bspTrigo.cpp(36) : error C2039: 'saveTang' : is not a member of 'Trigonometrie'
    i:\dokumente und einstellungen\leon seichab\desktop\myprojects\funktions&klassenlibary\cfunction.h(26) : see declaration of 'Trigonometrie'
    Error executing cl.exe.

    bspTrigo.obj - 9 error(s), 0 warning(s)
    **

    woran liegt das blos !!??

    THX für alle antworten



  • Aua aua, ganz am Ende...

    #endif
    
    }
    


  • //cfunction.h
    #ifndef CFunction
    #define CFunction
    
    class Trigonometrie {
    private:
        int Grad, x;
        double Bogenmass, cosinus, tangens;
    
    public:
        static const long double PI;
    
        double saveSing(int); //Achtung, macht nicht, was der Name zu vermuten lässt
        void readSing();
        double saveCos(int);
        void readCos();
        double saveTang(int);
        void readTang();
    };
    
    #endif
    
    //trigo.cpp
    #include "cfunction.h"
    #include <cmath>
    using namespace std;
    
    const long double Trigonometrie::PI = 3.1415926535897932384626433832795;
    double;
    Trigonometrie::saveSing(){
        cout << "\nBerechnung von Sinus:\n"
                "Bitte geben sie den Winkel in Grad ein:\n";
        cin  >> Grad;
        Bogenmass = (PI * Grad) / 180;
        x = sin(Bogenmass);
        cout << "\n\n";
        return x;
    }
    
    void
    Trigometrie::readSing(){
        cout << "Bogenmass: " << Bogenmass/PI << "* PI\n"
                "Sinus:     " << x << "\n\n";
    }
    
    double
    Trigometrie::saveCos(){
       cout << "\nCosinus-Berechnung:\n"
               "\nBitte geben sie den Winkel in Grad ein:\n";
       cin  >> Grad;
       Bogenmass = (PI * grad) / 180;
       x = cos(Bogenmass);
       cosinus = cos(grad);
       cout << "\n\n";
       return x;
    }
    
    void
    Trigometrie::readCos(){
        cout << "Bogenmass: " << Bogenmass/PI << "* PI\n"
                "Cosinus:   " << cosinus << "\n\n";
    }
    
    double
    Trigometrie::saveTang(){
        cout << "\nTangens-Berechnung:\n"
                "Bitte geben sie den Winkel ein:\n";
        cin  >> Grad;
        bogenmass = (PI * grad) / 180;
        x = tan(Bogenmass);
        tangens = tan(Grad);
        cout << "\n\n";
        return x;
    } 
    
    void
    Trigometrie::readTang(){
        cout << "Bogenmass: " << Bogenmass/PI << "* PI\n"
                "Tangens:   " << tangens << "\n\n";
    }
    

    Du hast einen seltsamen hang zu leerzeichen/-zeilen...
    Nimm entweder dein LieblingsC++buch zur hand und lies es nochmal oder hör auf während des Programmierens alzu exzessiv zu feiern bzw. zu trinken 😉
    das zurückgeben von werten hast du auch vergessen.



  • und wenn du in einer klasse einen prototyp double saveSing(int); hast, muss es auch später heissen:

    double Trigometrie::saveSing(int Grad){
        Bogenmass = (PI * Grad) / 180; 
        x = sin(Bogenmass); 
        return x;//du hast einen rückgabewert im prototyp definiert, dann musst du ihn auch zurückgeben
    }
    

    in einer berechnungsfunktion hat kein cin/cout verloren, und erstrecht nicht, wenn der prototyp einen parameter/rückgabewert hat.

    fang nochmal ganz von vorne an, die fehler rühren nicht vom alkohol sondern von einfachen unkenntnissen, aber daran kann man was ändern 😃



  • otze schrieb:

    Trigonometrie::Trigonometrie(){                // Konstruktor 
    3.1415926535897932384626433832795
    
    }
    

    lies bitte bitte nochmal ein buch über c++, das tut ja weh.

    Trigonometrie::Trigonometrie(){                // Konstruktor 
    PI=3.1415926535897932384626433832795
    
    }
    

    wie kannst du PI etwas zuweisen, wo es doch const ist?

    lies bitte bitte nochmal ein buch über c++, das tut ja weh.

    MaSTaH wollte dezent auf eine unklarheit und unkorrektheit deiner erklärung eingehen.



  • schon klar, hab mich bei meiner erklärung auf ne aussage gestützt, die hier im forum mal getätigt wurde, da ich selber kein so großer vertreter des const prinzips bin, hab ichs auch selber auch nie nachgeprüft. naja is geedited^^

    btw, wo sollte man einen const wert initialisieren wenn nicht im ctor?^^



  • otze schrieb:

    da ich selber kein so großer vertreter des const prinzips bin

    au, das tut weh. auch noch nie referenzen als member benutzt? oder basisklassen initialisiert?

    btw, wo sollte man einen const wert initialisieren wenn nicht im ctor?^^

    also:

    class Foo : public Bar {
      const int x_;
      int &y_;
    public:
      Foo (int &y) : Bar(42), x_(21), y_(y) {}
    };
    

    die elementinitialisierungsliste des ctors.


Anmelden zum Antworten