Wieso gibt es dazu keine Hilfe?



  • Ja, ich kenne mich mit Klassen aus.

    Habe früher sehr oft in Borland C++ programmiert.

    Dort hatte ich auch keine Probleme, denn dort habe ich die Deklaration von der Klasse und den Funktionen auf der *.cpp - Datei gemacht (also, eine einzige Datei). Habe keine *.h - Datei.

    Bei Visual C++ ist das anders. Hier muss man *.h - Dateien erstellen. Deswegen möchte ich es ja auch lernen, wie man Funktionen aufrufen kann, die in einer anderen Datei sind.



  • lern C++, dann MFC



  • Original erstellt von Mr-Baby:
    **Dort hatte ich auch keine Probleme, denn dort habe ich die Deklaration von der Klasse und den Funktionen auf der *.cpp - Datei gemacht (also, eine einzige Datei). Habe keine *.h - Datei.
    **

    😕

    Was soll ich dazu noch sagen!



  • Wieso?? Das hat bei meinen Programmen, die ich gecodet habe, immer funktioniert. Nun möchte ich mich erweitern. Lerne MFC und lerne dabei auch noch mehr über die Programmiersprache C++.

    Nun funktioniert das auf die alte Art nicht mehr, wie ich es immer gemacht habe. Wollte es nun jetzt lernen, wie man es anders macht. Habe aber einige Probleme bekommen.

    Habe deswegen nach einem Forum gesucht, mit der Hoffnung, das mir vielleicht einer behilflich sein kann. Aber eins ist mir auf dieser Seite klar geworden und zwar, dass keiner keinem hilft. Man wird nur Beleidigt. Was anderes könnt ihr wohl nicht? Wie wäre es mal mit helfen??

    Wenn ihr selbst eine Antwort kriegt, seit ihr froh. Aber das Gegenteil macht ihr nicht.

    Naja, ich werde mir ein anderes Forum suchen. Wünsche euch viel Spaß beim gegenseitigen Beleidigen.



  • Original erstellt von Mr-Baby:
    **Wieso?? Das hat bei meinen Programmen, die ich gecodet habe, immer funktioniert. Nun möchte ich mich erweitern. Lerne MFC und lerne dabei auch noch mehr über die Programmiersprache C++.

    Nun funktioniert das auf die alte Art nicht mehr, wie ich es immer gemacht habe. Wollte es nun jetzt lernen, wie man es anders macht. Habe aber einige Probleme bekommen.

    Habe deswegen nach einem Forum gesucht, mit der Hoffnung, das mir vielleicht einer behilflich sein kann. Aber eins ist mir auf dieser Seite klar geworden und zwar, dass keiner keinem hilft. Man wird nur Beleidigt. Was anderes könnt ihr wohl nicht? Wie wäre es mal mit helfen??

    Wenn ihr selbst eine Antwort kriegt, seit ihr froh. Aber das Gegenteil macht ihr nicht.

    Naja, ich werde mir ein anderes Forum suchen. Wünsche euch viel Spaß beim gegenseitigen Beleidigen.**

    bischen schnell mit deiner ansicht 😉

    erstens: borland ist nicht mfc, wie du ja bemerkt hast
    zweitens: der hinweis, c++ zu lernen ist richtig, weil das die grundlage aller dinge ist, also der standard.
    danach ist es sinnvoll, mfc anzufangen, aber erst danach.

    mfc hat eigene regeln, das stimmt. dir wurden übrigens gute tutorials genannt.
    aber deine frage zeigt, daß du grundlegende sachen noch nicht verstanden hast.
    also was eine klasse eigentlich ist.

    also bitte daneben auch noch ein c++ tutorial anschaun. dann wird dir vieles klarer!

    thats it, und keine beleidigung, sondern ein hinweis!

    cu



  • weil die unterteilung in module einfach zu c++ gehoert, das ist wie das eigelb zum ei !



  • Original erstellt von <phippse>:
    das ist wie das eigelb zum ei !

    class CDotter : public CEi {
    public:
      CDotter(CHenne* pParent) : m_pParent(pParent) {}
      virtual ~CDotter(){}
    
      bool HasKueken {
        return m_pParent->IsBegattet();
      }
      bool m_bKueken;
      CHenne* m_pParent;
    };
    


  • ^^ Mastah



  • @mastah
    Das ist die jämmerlichste öffentliche Vererbung die ich je gesehen habe! 😮
    Wer hat dir das beigebracht?



  • Original erstellt von Mr-Baby:
    **
    Naja, ich werde mir ein anderes Forum suchen. Wünsche euch viel Spaß beim gegenseitigen Beleidigen.**

    Dich hat hier kein Registrierter Beleidigt.
    Das Problem ist: Du sagst, daß du dich mit Klassen und deren Vererbung auskennst.
    Wenn jemand hier eine Frage stellt muss der Antwortende immer zuerst Raten welche Kenntnisse der Frager hat.
    Bei dir bräuchte er nicht raten da du dich mit Klassen und Vererbung auskennst.
    Stadard in C++ sind nunmal Header und cpp Dateien. Deshalb gibt es ja auch
    #include

    Um eine Klasse einer anderen bekannt zu machen includet man einfach die header und ruft den Konstructor auf. Die hat aber nichts mit MFC zu tun sondern ist unterstes C++.
    Ich kenne mich mit dem Borland C++ nicht aus aber IMHO verwenden die dort auch Headerdateien.

    Weiters hast du von mir eine Antwort bekommen die ich deinem bisherigen Kenntnisstand (wie du es geschrieben hast) angepasst habe. Wer sich mit Klassen auskennt sollte auch wissen was der this-Zeiger ist.
    Ich sehe aber jetzt das dies nicht so ist, da du das ja nie verwenden konntest weil du nie Headerdateien gehabt hast welche du in anderen Klassen includet hast.
    Somit waren ja auch nie deine Klassendefinitionen einer anderen klasse bekannt und hast somit auch nie eine this-Zeiger übergeben können.

    Ich nehme aber deine Äuserungen nicht persönlich und wir können ja wieder von vorne beginnen wqen du das möchtest.



  • Original erstellt von Unix-Tom:
    Ich kenne mich mit dem Borland C++ nicht aus aber IMHO verwenden die dort auch Headerdateien.

    Vollkommen richtig. Auch Borland C++ verwendet Header-Dateien. Header-Dateien sind ja auch keine MS erfindung sondern stammen aus den C-Wurzeln von C++... Sogar C hat header-Files...

    @Mr-Baby: Als Entschuldigung "ich hab früher Borland C++ Programmiert" anzuführen ist schlicht nicht richtig.
    1. Verlangt keiner dass du dich für Lücken in deinem Wissen entschuldigen musst. (Auch nciht rechtfertigen)
    2. Hält auch Borland sich an den Standard und verwendet Headerdateien... Wenn du sie nicht benutzt hast, dann war das zwar schlechter stil aber das kann man ja auf eine Lücke im Wissen zurückführen.

    Auch eingeschnappt zu sein, dass man an deinen Kenntnissen in Sachen Klassen und C++ zweifelt ist eben so unpassend. Ich würde dir in der Tat empfehlen mal z.B. Ein C oder C++ Tutorial zu lesen. Das füllt bestimmt einige Lücken auf.

    Vielleicht als kleiner Hinweis: Was musstest du bei Borland C++ machen wenn du eine Funktion verwenden wolltest aus einer speziellen library? (z.B. einen std::string oder so?)

    @MaSTaH: brrr... Public-Variablen... dafür sollte man dir alle Hände, Füsse und noch son bestimmtes Teil abhacken 😉 !

    -junix



  • Dort hatte ich auch keine Probleme, denn dort habe ich die Deklaration von der Klasse und den Funktionen auf der *.cpp - Datei gemacht (also, eine einzige Datei). Habe keine *.h - Datei.

    hoje 🙄

    Die ganze geschichte mit den Headern und de *.cpp ist keine Compilerspezifische Angelegenheit. Somit hättest du dort auch mit Headern arbeiten können und auch aus vernünftigen Gründen müssen.



  • oh, junix war schneller *G*



  • Original erstellt von junix:
    Ich würde dir in der Tat empfehlen mal z.B. Ein C oder C++ Tutorial zu lesen. Das füllt bestimmt einige Lücken auf.

    C kennt aber keine Klassen, und darum geht es die ganze Zeit doch

    Original erstellt von junix:
    @MaSTaH: brrr... Public-Variablen... dafür sollte man dir alle Hände, Füsse und noch son bestimmtes Teil abhacken 😉 !

    Das zeigt nur, dass du keine Ahnung von der Materie hast... Außerdem war es ja nur ein Joke und in 2 min hingeknallt!!! Das wär genauso als wenn der Kommentar käme: "Öhh, der Compiler kennt CEi und CHenne nicht. Wo finde ich die? In den MFC?"...



  • Nein aber C kennt header-files... und DAS ist das eigentliche Probelm das hier erörtert wird. (Wobei der Threadtitel an sich eigentlich schon unglücklicht gewählt ist)

    Original erstellt von MaSTaH:
    Das zeigt nur, dass du keine Ahnung von der Materie hast...

    diese aussage zeigt nur, dass du keine Ahnung von Softwaredesign im Speziellen von Information Hiding hast... aber das gehört hier nicht hin. Vielleicht solltest du mal in der FAQ des Borland-Forums den Artikel über Public-Variablen lesen. Ist zwar nicht nur standard und bezieht sich auch auf einige erweiterungen von Borland in den Schlüsselwörtern aber trotzdem solltest du es lesen...

    -junix



  • Original erstellt von junix:
    diese aussage zeigt nur, dass du keine Ahnung von Softwaredesign im Speziellen von Information Hiding hast...

    Meinst du??? Information Hiding bringt nur etwas wenn andere Leute damit arbeiten sollen. Public-Variablen können sehr wohl sinnvoll sein, insbesondere wenn man bei deren Modifikation einen Funktionsaufruf sparen will... Warum soll ich SetText aufrufen wenn ich genausogut m_text verändern kann (jaja, Thread-Sicherheit, ich weiß)??? Außerdem war es doch nur ein Joke verdammt... 😉 Seid ihr so humorlos, dass ihr einen Witz nicht als solchen erkennt???

    [ Dieser Beitrag wurde am 21.02.2003 um 15:36 Uhr von MaSTaH editiert. ]



  • Aber bevor hier wieder eine große Diskussion entbrennt:

    class CDotter : public CEi {
    public:
      CDotter(CHenne* pParent) : m_pParent(pParent) {}
      virtual ~CDotter(){}
    
      bool HasKueken {
        return m_pParent->IsBegattet();
      }
    protected:
      CHenne* m_pParent;
    };
    

Anmelden zum Antworten