Ergebnis 1 bis 1 von 1

Thema: C/C++ OOP Methodenaufrufaufruf

  1. #1
    Erst mal ist p p1(); nicht richtig. Korrekt wäre p p1;, aber selbst dann tut sich noch nicht viel, weil die Klasse p keinen Standardkonstruktor hat. Änder dafür am besten Zeile 7 in public: p(char *n = "")

    Ansonsten noch ein paar allgemeine Anmerkungen.
    • Deine Formatierung ist wie du selber angemerkt hast, grauenhaft.
    • Für so ne Übung mag das überflüssig erscheinen, aber aussagekräftige Namen für Klassen, Objekte, Variablen, Funktionen usw. sind Pflicht.
    • In C++ haben die Headerdateien keine Endung. Was du da schreibst, macht dein Programm zu einer wilden Mischung aus C und C++.
    • Du hast den Zeilenumbruch beim Output von getn vergessen.
    • Die Mainfunktion heißt normalerweise int main(int argc, char** argv), auch wenn die meisten Compiler int main() oder sogar void main(void) akzeptieren.
    • Nicht nötig, aber guter Stil: statt return 0; kann man zumindest in ANSI C return EXIT_SUCCESS schreiben. bei C++ bin ich mir nicht 100% sicher, aber ich würd mich wundern, wenns anders wär.


    Mal ne bearbeitete Version (funktioniert bei mir)
    Code:
    // C++ Trainer, 19.2.2007, all rights reserved 
    #include <iostream> 
    #include <conio.h> // Gibts dafür ne C++ Variante?
    #include <string> 
    
    using namespace std;
    
    class Testklasse 
    {
    	private:
    		char name [20];
    	public:
    		Testklasse(char *n = ""); 
    		void setName(void);
    		void getName(void);
    };
    
    Testklasse::Testklasse(char *n)
    {
    	strcpy (name,n);
    }
    
    void Testklasse::setName(void) 
    {
    	cout << "name: ";
    	cin >> name;
    }
    void Testklasse::getName(void) 
    {
    	cout << "name: " << name << endl;
    }
    int main() 
    {
    	Testklasse t1;
      	Testklasse t2("schulz");
      	t2.getName();
    	t1.setName();
    	t1.getName();
    	getch();
    	
    	return EXIT_SUCCESS;
    }
    Für conio.h hab ich jetzt auf die Schnelle die C++ Variante nicht gefunden.

    Geändert von DFYX (19.02.2007 um 11:48 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •