aufgabe aus einem c++ buch
-
Aufgabenstellung:
1. Legen Sie wie in Kapitel 5 mit Hilfe des MFC-Anwendungs-Assistenten eine neue SDI-Anwendung mit Unterstützung für Doc/View an. Name: Kommandozeile
2. Öffnen Sie die Header-Datei, in der die Anwendungsklasse deklariert ist (Kommandozeile.h).
3. Deklarieren Sie über der Anwendungsklasse die abgeleitete CCommandLineInfo-Klasse, in der Sie die Methode ParseParam() deklarieren.
//My_CCommandLineInfo: class My_CCommandLineinfo : Public CcomandLineInfo { public: virtual void ParseParam(const char* pszParam, BOOL bFlag, BOOL bLast); };Soll ich diesen Teil jetzt irgendwo in der Headerdatei einfügen oder was bedeutet die Aufgabenstellung. Habs nicht ganz gepeilt ..
}
-
stop-war schrieb:
Soll ich diesen Teil jetzt irgendwo in der Headerdatei einfügen
Nicht irgendwo. Über der Anwendungsklasse. Steht doch da

-
aloso über
//My_CCommandLineInfo: class My_CCommandLineinfo : Public CcomandLineInfo { public: virtual void ParseParam(const char* pszParam, BOOL bFlag, BOOL bLast); };oder? und wie implementiere ich das in den quellcode?
-
Du willst einen Quelltext über sich selber schreiben? Viel Spaß dabei

Ernsthaft: In der Datei "Kommandozeile.h" dürfte (nach einigen #include's) etwas stehen wie:
class CKommandozeileApp : public CWinApp { ... };Und vor dieser Klasse sollst du die My_CCommandlineInfo einfügen.
PS: Vielleicht ist es eine gute Idee, so ein Buch von vorne nach hinten durchzuarbeiten

-
sry ich mein über
// Überladungen // Vom Klassenassistenten generierte Überladungen virtueller Funktionen //{{AFX_VIRTUAL(CHellov4App) public: virtual BOOL InitInstance(); //}}AFX_VIRTUAL // Implementierung //{{AFX_MSG(CHellov4App) afx_msg void OnAppAbout(); // HINWEIS - An dieser Stelle werden Member-Funktionen vom Klassen-Assistenten eingefügt und entfernt. // Innerhalb dieser generierten Quelltextabschnitte NICHTS VERÄNDERN! //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ fügt unmittelbar vor der vorhergehenden Zeile zusätzliche Deklarationen ein. #endif // !defined(AFX_HELLOV4_H__BA071CB5_A522_4203_B8E9_584AE30CC821__INCLUDED_)
-
hallo CStoll
so hab ich es auch beim letzten versuch gemacht aber da kamen etwas 50 fehler :S habe daher gedacht ich frag diesmal erst

-
ich fang das buch nochmal von vorne an zu lesen, diesmal mit ALLEN aufgaben

habs mal kompiliert:
--------------------Konfiguration: Kommandozeile - Win32 Debug--------------------
Kompilierung läuft...
Kommandozeile.cpp
c:\programme\microsoft visual studio\myprojects\kommandozeile\kommandozeile.h(17) : error C2504: 'Public' : Basisklasse undefiniert
c:\programme\microsoft visual studio\myprojects\kommandozeile\kommandozeile.h(17) : error C2146: Syntaxfehler : Fehlendes ',' vor Bezeichner 'CcomandLineInfo'
c:\programme\microsoft visual studio\myprojects\kommandozeile\kommandozeile.h(18) : error C2504: 'CcomandLineInfo' : Basisklasse undefiniert
C:\Programme\Microsoft Visual Studio\MyProjects\Kommandozeile\Kommandozeile.cpp(39) : error C2653: 'My_CCommandLineInfo' : Keine Klasse oder Namespace
C:\Programme\Microsoft Visual Studio\MyProjects\Kommandozeile\Kommandozeile.cpp(40) : error C2061: Syntaxfehler : Bezeichner 'BOOLbFlag'
C:\Programme\Microsoft Visual Studio\MyProjects\Kommandozeile\Kommandozeile.cpp(41) : error C2601: 'ParseParam' : Lokale Funktionsdefinitionen sind unzulaessig
C:\Programme\Microsoft Visual Studio\MyProjects\Kommandozeile\Kommandozeile.cpp(92) : error C2065: 'My_CCommandLineInfo' : nichtdeklarierter Bezeichner
C:\Programme\Microsoft Visual Studio\MyProjects\Kommandozeile\Kommandozeile.cpp(92) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'cmdInfo'
C:\Programme\Microsoft Visual Studio\MyProjects\Kommandozeile\Kommandozeile.cpp(92) : error C2065: 'cmdInfo' : nichtdeklarierter Bezeichner
KommandozeileDoc.cpp
c:\programme\microsoft visual studio\myprojects\kommandozeile\kommandozeile.h(17) : error C2504: 'Public' : Basisklasse undefiniert
c:\programme\microsoft visual studio\myprojects\kommandozeile\kommandozeile.h(17) : error C2146: Syntaxfehler : Fehlendes ',' vor Bezeichner 'CcomandLineInfo'
c:\programme\microsoft visual studio\myprojects\kommandozeile\kommandozeile.h(18) : error C2504: 'CcomandLineInfo' : Basisklasse undefiniert
KommandozeileView.cpp
c:\programme\microsoft visual studio\myprojects\kommandozeile\kommandozeile.h(17) : error C2504: 'Public' : Basisklasse undefiniert
c:\programme\microsoft visual studio\myprojects\kommandozeile\kommandozeile.h(17) : error C2146: Syntaxfehler : Fehlendes ',' vor Bezeichner 'CcomandLineInfo'
c:\programme\microsoft visual studio\myprojects\kommandozeile\kommandozeile.h(18) : error C2504: 'CcomandLineInfo' : Basisklasse undefiniert
MainFrm.cpp
c:\programme\microsoft visual studio\myprojects\kommandozeile\kommandozeile.h(17) : error C2504: 'Public' : Basisklasse undefiniert
c:\programme\microsoft visual studio\myprojects\kommandozeile\kommandozeile.h(17) : error C2146: Syntaxfehler : Fehlendes ',' vor Bezeichner 'CcomandLineInfo'
c:\programme\microsoft visual studio\myprojects\kommandozeile\kommandozeile.h(18) : error C2504: 'CcomandLineInfo' : Basisklasse undefiniert
Generieren von Code...
Fehler beim Ausführen von cl.exe.Kommandozeile.exe - 18 Fehler, 0 Warnung(en)
-
public. Mit kleinem p.
-
Und 'CCommandlineInfo' hast du auch falsch (ab)geschrieben.
-
ah, okay hab da bissl was verbessert, jetzt:
--------------------Konfiguration: Kommandozeile - Win32 Debug--------------------
Kompilierung läuft...
Kommandozeile.cpp
C:\Programme\Microsoft Visual Studio\MyProjects\Kommandozeile\Kommandozeile.cpp(39) : error C2653: 'My_CCommandLineInfo' : Keine Klasse oder Namespace
C:\Programme\Microsoft Visual Studio\MyProjects\Kommandozeile\Kommandozeile.cpp(41) : error C2601: 'ParseParam' : Lokale Funktionsdefinitionen sind unzulaessig
C:\Programme\Microsoft Visual Studio\MyProjects\Kommandozeile\Kommandozeile.cpp(92) : error C2065: 'My_CCommandLineInfo' : nichtdeklarierter Bezeichner
C:\Programme\Microsoft Visual Studio\MyProjects\Kommandozeile\Kommandozeile.cpp(92) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'cmdInfo'
C:\Programme\Microsoft Visual Studio\MyProjects\Kommandozeile\Kommandozeile.cpp(92) : error C2065: 'cmdInfo' : nichtdeklarierter Bezeichner
Fehler beim Ausführen von cl.exe.Kommandozeile.exe - 5 Fehler, 0 Warnung(en)
-
Dann achte mal auf die exakte Schreibung der Bezeichner - C++ ist da sehr penibel.
Du schreibst dich selbst mal groß, mal klein
Am Ende ist's verwirrend
Und sehr schwer zu versteh'n(na, wer kennt's :D)