Einstieg in C++

Hallo,

ich muß Euch mal mit ein paar gaaaanz dummen Fragen zu MS Visual C++ nerven, Entschuldigung.

Erst mal, was ich bisher gemacht habe:

  • start von MS VC++ 6.0
  • Neu -> MFC-Anwendungsassistent (exe)
  • Auswahl ‚Dialogfeldbasiert‘ … feritg.

Die Form sieht nach etwas Aufräumen schon mal so aus, wie ich das von VB gewohnt bin. :wink:

Als erstes lege ich ein Listenfeld auf die Form.
Nun lege ich einen Button auf die Form und klicke den doppelt an.

Nun könnte ich Code schreiben, aber …

So, nun erst mal, wie das in VB weiter gehen würde.
Da hätte ich den Code und darüber zwei Comboboxen.
In der Linken sind alle Vorhandenen Steuerelemente aufgelistet, in der Rechten die Ereignisse für das ausgewählte Steuerelement.
Dann klicke ich doppelt auf den Button und tippe:

Private Sub Command1\_Click()
 For i = 0 To 100
 List1.AddItem i
 Next
End Sub

Daß meine Liste List1 heißt, kann ich in der linken Combobox nachlesen. Tippe ich List1 und den anschließenden Punkt, erhalte ich eine Liste mit allen möglichen Methoden, die ich anwenden kann. Additem muß ich nicht vorher kennen, ich kann es auswählen, markieren, F1 drücken und mir erklären lassen, was es tut.

So, nun wieder zu C++
Da steht jetzt :

void CTest7Dlg::open\_mouth:nButton1() 
{
 // TODO: Code für die Be...

}

Wie bekomme ich da jetzt eine Schleife hinein, wie in VB?

Bis jetzt habe ich…

void CTest7Dlg::open\_mouth:nButton1() 
{
 for ( i = 0; i 
... was hoffentlich erst mal nicht ganz falsch ist.
Wie geht's weiter? Und vor allem, wie hätte ich das selbst finden können? Hilft mit VC++ auch, wenn ich es richtig bediene?
(Die Hilfe zu VB brauche ich immer noch, das verwende ich schon seit Jahren. :wink:)
(In meinem schlauen Buch 'VC++ Step by Step' steht's nicht. ;-()

Gruß, Rainer

Hallo von einem der ‚Fischermen’s friend‘ :wink:) (SCNR)

Das ist schon richtig codiert. Jetzt geht das Spiel fast genauso wie in VB: list1.addtext(i) oder list1.add(i) („hoffe ich mal. Die MFC war bei mir etwas her…“).
Aber hier ein paar Resourcen, die erstmal weiterhelfen dürften:
http://www.erlenkoetter.de/html/c.htm -> C++ f. Windows95/NT mit MFC
http://www.programmersheaven.com/zone3/mh24.htm
http://download.pearsoned.de/leseecke/VCPLUS6_21Tg/d…
http://www.nickles.de/c/s/21-0007-124-1.htm
http://www.volkard.de/

ich muß Euch mal mit ein paar gaaaanz dummen Fragen zu MS
Visual C++ nerven, Entschuldigung.

Fragen kostet nix :smiley: Ausserdem ist keine Frage zu dumm um nicht doch gestellt zu werden.

HTH (fürs erste)
MFC…äh mfg M.L. :smile:

***Werbung***
http://www.icsharpcode.net/OpenSource/SD/Download/
http://www.entwickler-forum.de/ -> C++ / MFC Forum

Hallo M.L.,

danke.

Hallo von einem der ‚Fischermen’s friend‘ :wink:) (SCNR)

Das ist schon richtig codiert. Jetzt geht das Spiel fast
genauso wie in VB: list1.addtext(i) oder list1.add(i) („hoffe
ich mal. Die MFC war bei mir etwas her…“).

Ich probier’s gleich aus.

Aber hier ein paar Resourcen, die erstmal weiterhelfen
dürften:
http://www.erlenkoetter.de/html/c.htm -> C++ f.
Windows95/NT mit MFC
http://www.programmersheaven.com/zone3/mh24.htm
http://download.pearsoned.de/leseecke/VCPLUS6_21Tg/d…
http://www.nickles.de/c/s/21-0007-124-1.htm
http://www.volkard.de/

ok, das beschäftigt mich erst mal für 'ne Weile. Im Mai habe ich Urlaub … den ganzen! :wink: Dann komme ich sicher mit weiteren Fragen. Mal sehen, ob die dann schon intelligenter ausfallen.

Gruß, Rainer

Hallo,

is ja schön und gut, wenn du vb bereits kannst, aber wenn du C++ lernen willst, warum beginnst du dann mit mfc? Grundlagen zu üben wäre da schonmal besser, dass du das casten kapierst (keine c-casts!) und die ganzen lustigen pointer sachen. Mit mfc lernst du das zwar vielleicht, aber es dauert viel länger, weil durch klickibunti wirst du nicht weit kommen.

bye,
Christoph

Hi Cristoph,

is ja schön und gut, wenn du vb bereits kannst, aber wenn du
C++ lernen willst, warum beginnst du dann mit mfc?

Weil da die Form schon mal etwa so aussieht, als könnte ich mit dem Ergebnis etwas anfangen. :wink: Womit sollte ich Deiner Meinung nach anfangen?

Grundlagen
zu üben wäre da schonmal besser, dass du das casten kapierst

Das was? Geht das auf deutsch? Dann würde ich eventuell den Sinn erraten können. Gelesen habe ich den Begriff noch nicht.

(keine c-casts!) und die ganzen lustigen pointer sachen. Mit
mfc lernst du das zwar vielleicht, aber es dauert viel länger,
weil durch klickibunti wirst du nicht weit kommen.

Ich habe mir ‚VC++ step by step‘ gekauft. ;-(
Da wird wunderbar erklärt, wie ich mit der Entwicklungsumgebung umgehen muß. Nichts, was ich ohne das Buch nicht auch herausgefunden hätte.
Andere Bücher fangen beim Urschleim an und decken mich so lange mit englischen Vokabeln zu, bis ich absolut nichts mehr verstehe.
Da tippe ich dann endlos lange Quellcodes ab, ohne zu wissen, was ich da treibe. Sobald ich versuche, einen der Codes zu verändern, weil ich glaube, etwas verstanden zu haben, erfahre ich, daß es einen Fehler gibt. (Ist in VC++ auch so)
Ich bekomme leider keinen Hinweis, was falsch ist und wo.

Mein Hauptproblem ist wohl, daß ich bei den Büchern nicht filtern kann, welche Information für mich wichtig und interessant ist und was ich vorerst nicht wissen muß. Das Buch als Gedicht zu lernen ist wohl keine Lösung. :wink:

Mich interessiert auch nicht, wie ich in C ein Fenster für Windows programmieren kann, das erledigt VC++ für mich. Wenn ich irgendwann mal die Struktur der Syntax verstanden habe und ein paar Befehle kenne, werde ich auch das verstehen … hoffe ich.

Um einen Lehrgang auszuwählen habe ich nicht genug Ahnung, um zu entscheiden, ob der mich weiter bringt. Unter den Voraussetzungen Zeit und Geld in eine Aktion mit ungewissem Ausgang zu investieren kann und will ich nicht. Professionelle Lehrgänge finden oft nicht in meiner Gegend statt und dauern recht lang. Ich kann nicht mal für drei Wochen in München im Hotel wohnen und 10 000 Euro für einen Lehrgang bezahlen. Wenn ich dann zurück bin, kann ich eventuell immer noch kein Programm schreiben, mit dem ich etwas anfangen kann.

Vorerst wäre ich damit zufrieden, wenn ich mit VC++ ähnliche Programme schreiben könnte, wie jetzt mit VB. Ich nehme an, daß die dann schneller laufen, was mir gelegentlich schon helfen würde.
Im Hintergrund schaufelt ein VB-Programm gerade Daten … Auf das Ergebnis werde ich noch ein paar Minuten warten müssen. Habe ich da einen Fehler im Programm, muß ich den entfernen und das Spiel beginnt von vorn. (Die Daten aus einigen Tausend .mdb s werden in eine .mdb geschaufelt, in der die Anwender dann ihre Daten suchen können.)
Mit einem VC++ Programm ginge das sicher um einiges schneller.

Wenn ich so etwas in VC++ schreiben kann, werde ich genug verstanden haben, um mich mit anderen Details zu befassen, vermute ich.

Im Moment sitze ich vor der Entwicklungsumgebung und bin bald wieder so weit, alles Fenster zu schließen und lieber mit den Mängeln von VB zu leben, dafür wird aber auch mal etwas fertig.

OK, nun noch mal ganz zum Anfang. …

Ich habe in VC++ schon mal eine Form, die auf geht, wenn ich das Programm schreibe. Den Button kann ich auch schon anklicken.
Es kann doch nicht so schwer sein, da eine Zählschleife einzubauen und mir zur Kontrolle das Ergebnis irgendwie anzuzeigen. Und das ganze auch noch so, daß ich verstehe, was da passiert und ich von da aus andere Befehle und die dazugehörige Syntax suchen und verwenden kann.

Gruß, Rainer

Hallo die Herren.

Weil da die Form schon mal etwa so aussieht, als könnte ich
mit dem Ergebnis etwas anfangen. :wink: Womit sollte ich Deiner
Meinung nach anfangen?

Damit war gemeint, dass man vor der Programmierung mit der MFC ele mentare Kenntnisse in C++ mitbringen sollte. Casten=Typumwandlung (z.B. int in double), Pointer = Zeiger auf Speicherinhalt, Strukturen,… (& und *). Und weitere objektorientierte Paradigmen :smile:
Links gefällig: http://docs.sfz-bw.de/unterricht/informatik/CPP-Theo… & http://www.google.de/search?q=C%2B%2B+Tutorial+Skrip…

Literatur: ‚Objektorientierte Softwareentwicklung mit Visual C++ 6.0‘ von Uli Schell DPunkt Verlag ->Behandelt UML, ODBC DB Programmierung mit VC++ 6.0 Autoren Edition und der MFC andere C++ IDE

Hallo Markus,

Weil da die Form schon mal etwa so aussieht, als könnte ich
mit dem Ergebnis etwas anfangen. :wink: Womit sollte ich Deiner
Meinung nach anfangen?

Damit war gemeint, dass man vor der Programmierung mit der MFC
ele mentare Kenntnisse in C++ mitbringen sollte.

OK, ich habe also an der falsceh Stelle angefangen.
War ja nur geraten, weil das angenehm ausgesehen hat. :wink:

Casten=Typumwandlung (z.B. int in double),

ahhh, OK, werd’s mir ansehen. Darüber habe ich schon gelesen, das finde ich wieder. behalten habe ich’s beim ersten Lesen nicht. ;-(

Pointer = Zeiger auf Speicherinhalt,

Erinnert an alte Zeiten mit 'nem alten Assembler. :wink:

Strukturen,… (& und *). Und weitere
objektorientierte Paradigmen :smile:

Objektorientiert ist VB auch.

Links gefällig:
http://docs.sfz-bw.de/unterricht/informatik/CPP-Theo… &
http://www.google.de/search?q=C%2B%2B+Tutorial+Skrip…

Seufz. … Sehe ich mir an, hoffentlich verstehe ich etwas.

Literatur: ‚Objektorientierte Softwareentwicklung mit Visual
C++ 6.0‘ von Uli Schell DPunkt Verlag ->Behandelt UML,
ODBC DB Programmierung mit VC++ 6.0 Autoren Edition und der
MFC

Hi,

Leider kann die IntelliSense Hilfe von VC++ nicht immer erraten
was der Nutzer eingeben will.

??? Von Intellisense habe ich bisher noch gar nichts bemerkt.
Selbst wenn ich ‚for‘ eintippe und die Zeile verlasse,
passiert nichts. VB würde aus ‚for‘ ‚For‘ machen und den Text
blau einfärben. …

Is ja auch klar, in c++ schreibt man schlüsselwörter klein … und den rest vom ‚for‘ kannst du auch 5 zeilen drunter schreiben (was ein echt mieser stil wäre).

Das Visual C++ (/Studio) intellisense ist ja nicht grad das tollste, besorg dir am besten eine (demo?)kopie von Visual Assist (www.wholetomato.com). Dann sieht die Sache schon ganz anders aus :wink:

Desweiteren hatte der vor mir (man könnte ihn jetzt auch Markus nennen :smiley:) schon recht, c++ ist nicht wirklich schneller als dein vb … und mit mfc schon um einiges langsamer als wenn dus „richtig“ schreiben würdest (und für richtig gibts keine definition, denn es gibt immer einen schnelleren und noch aufwe[ä!]ndigeren weg).

So ok, genug gelabert. Was ich eigentlich vorher sagen wollte war, dass du bevor du mit mfc anfangst erstmal die objektorientierung (was es in vb soweit ich weiß nicht gibt) kapieren solltest, sonst wirst du spätestens wenn du mal ein paar mehr fenster hast einige probleme kriegen (es geht schon auch mit rumgefuchtel, aber das kann dann keiner mehr lesen).

Ich würde dir empfehlen mal ein paar tage mit char-arrays, pointern usw. rumzuspielen, dass du das auch schön kapierst. Mfc ist nicht immer die schönste form, die machn da auch typenunsichere (kann programm zum abkratzen bringen) typenumwandlungen usw.

achja: in c++ muss man variablen initialisieren und groß- und kleinschreibung wird beachtet (nur als tipp, ich halt dich nicht für blöd :smile: )

bye,
Christoph

1 Like

Von VB nach C++. Viel Spass…
Hallo Rainer.

(offtopic: Du wirst’s kaum glauben, aber ich kenne einen Mathe & Physiklehrer, der genauso heisst wie Du. Nur mit ‚e‘ statt ‚a‘)
Okay, also für jemanden, der von Null auf objektorientierte Programmierung aufsteigen will sind einige Hürden zu überwinden. Und das geht nun mal in der Ursuppe los. Die Bücher von Erlenkötter sind dazu gut geeignet. Und die Programmcodes gibts auch zum Runterladen:
http://www.erlenkoetter.de/html/downld1.htm

Hier ein einfaches Hallo Welt Beispiel mit der MFC:

// prg03\_01.cpp
// Das kleinste Programm
#include 

class CFenster : public CFrameWnd
 {
 public:
 CFenster(){Create(NULL,\_T("Mini"));}
 };

class CMeinProgramm : public CWinApp
 {
 public:
 virtual BOOL InitInstance();
 };

BOOL CMeinProgramm :: InitInstance()
 {
 m\_pMainWnd = new CFenster();
 m\_pMainWnd-\>ShowWindow(m\_nCmdShow);
 return TRUE;
 }

CMeinProgramm prg01;

Da kommt doch Freude auf, oder … ?
Sogar ich ‚alder Esel‘ hab’s kapiert, von daher kann das ja nicht soooo schwer sein :wink:
Und mit der Intellisense der VC++ IDE war der Codevorschlag gemeint, den die IDE von sich aus macht. Das der Benutzer mal nebenbei eine Schleife von 1 bis 4576 machen will kann die natürlich nicht sehen…

HTH
mfg M.L.

ps.: ich schick’ Dir gleich 'ne html-Seite, die einiges an weiteren Links zu bieten hat. Also nicht erschrecken :smiley:

Hallo Markus,

(offtopic: Du wirst’s kaum glauben, aber ich kenne einen Mathe
& Physiklehrer, der genauso heisst wie Du. Nur mit ‚e‘ statt
‚a‘)

das heißt nun aber nicht, daß ich mich mit 'nem Mathelehrer messen muß? :wink: Größenwahnsinnig bin ich nun auch wieder nicht.

Okay, also für jemanden, der von Null auf objektorientierte
Programmierung aufsteigen will sind einige Hürden zu
überwinden.

hmmmm, das wurde mir nun schon mehrfach um die Ohren gehauen und ich vermute so allmählich, daß ich unter ‚objektorientiert‘ etwas falsches verstehe.

Hast Du etwas dagegen, mir den Begriff mal in knappen Worten zu erklären? (falls das möglich ist :wink:)
Ich gebe mal von mir, was ich bisher darunter verstanden habe, dann ist es leichter den Irrtum aufzuklären, hoffe ich.
Ich dachte, daß objektorientierung bedeutet, daß das Programm in Prozeduren aufgeteilt ist, die auf Ereignisse von Objekten reagieren und nur dann ablaufen, im Gegensatz zur linearen Programmierung, wie z.B. bei QBasic, Blitzbasic, Assembler …
Dann wäre aber VB auch objektorientiert, was es aber wohl nicht ist, wenn ich das nun richtig verstanden habe.

Und das geht nun mal in der Ursuppe los. Die
Bücher von Erlenkötter sind dazu gut geeignet.

OK, wenn Du sagst, daß mich das voranbringt, werde ich da mal investieren.

Und die
Programmcodes gibts auch zum Runterladen:
http://www.erlenkoetter.de/html/downld1.htm

Hier ein einfaches Hallo Welt Beispiel mit der MFC:

// prg03_01.cpp
// Das kleinste Programm
#include

class CFenster : public CFrameWnd
{
public:
CFenster(){Create(NULL,_T(„Mini“));}
};

class CMeinProgramm : public CWinApp
{
public:
virtual BOOL InitInstance();
};

BOOL CMeinProgramm :: InitInstance()
{
m_pMainWnd = new CFenster();
m_pMainWnd->ShowWindow(m_nCmdShow);
return TRUE;
}

CMeinProgramm prg01;

Da kommt doch Freude auf, oder … ?

Sieht hübsch aus, verstehen soll ich das ja wohl nicht. … Jedenfalls jetzt nicht. :wink:

Sogar ich ‚alder Esel‘ hab’s kapiert, von daher kann das ja
nicht soooo schwer sein :wink:

*g* Du hast schon mal in meine ViKa gesehen? Ich habe einen Sohn in Deinem Alter. … :wink: Ich will’s aber trotzdem auch noch lernen. Ganz verkalkt bin ich noch nicht.

Und mit der Intellisense der VC++ IDE war der Codevorschlag
gemeint, den die IDE von sich aus macht. Das der Benutzer mal
nebenbei eine Schleife von 1 bis 4576 machen will kann die
natürlich nicht sehen…

Logisch, hellseherishe Fähigkeiten erwarte ich ja auch nicht.

ich schick’ Dir gleich 'ne html-Seite, die einiges an
weiteren Links zu bieten hat. Also nicht erschrecken :smiley:

Bitte nicht erschlagen, ich habe erst ab Mai und nur vier Wochen Urlaub. (wenn das Telefon nicht zu oft zwischendurch klingelt. … :wink:)
Der Lesestoff, den Du vorgeschlagen hast, reicht bereits bis Weihnachten.

Mein Problem mit der Ursuppe.:

Wie Du sicher weißt, merkt man sich von dem, was man nur liest knapp 5%. Von dem, was man vorliest etwa 7%. Von dem, was man anwendet können es 50% sein und sobald man da etwas selbst modifiziert, sind’s plötzlich 90%.
Wenn ich nun 1000 Seiten lese, ohne etwas davon anzuwenden, b.z.w. sich das ‚Anwenden‘ auf abtippen von Quellcodes beschränkt, brauche ich 100 Jahre, bis ich mir das gemerkt habe. :wink:
Aber da muß ich wohl durch. Zwischendurch ein lauffähiges Programm, auch mal ein Hauch mehr, als ‚Hallo Welt‘ wäre mir eben angenehmer und würde den Vorgang sicher beschleunigen.

Gruß, Rainer

Hallo Christoph,

Is ja auch klar, in c++ schreibt man schlüsselwörter klein …
und den rest vom ‚for‘ kannst du auch 5 zeilen drunter
schreiben (was ein echt mieser stil wäre).

*g* darunter würde die Lesbarkeit sicher ein wenig leiden. :wink:
Daß sich C++ nicht so sehr um die Zeilen kümmert und nur auf die Separatoren achtet, ahnte ich schon.

Das Visual C++ (/Studio) intellisense ist ja nicht grad das
tollste, besorg dir am besten eine (demo?)kopie von Visual
Assist (www.wholetomato.com). Dann sieht die Sache schon ganz
anders aus :wink:

hmmm, ich würde eigentlich ganz gern Studio (enterprise) weiter verwenden, das ist schon bezahlt. :wink: Das war nicht ganz billig.

Desweiteren hatte der vor mir (man könnte ihn jetzt auch
Markus nennen :smiley:) schon recht, c++ ist nicht wirklich
schneller als dein vb …

;-( schade. Dann muß ich wohl zum Beschleunigen an den Datenbanken drehen. Ob ich mit VB eine Access-datenbank oder Oracle verwende macht im Programm keinen so großen Unterschied. Oracle ist aber so teuer. Bis ich den Chef da von den Vorteilen überzeugt habe. …
Aber das ist ein anderes Thema. Jetzt geht’s um C++ :wink:

und mit mfc schon um einiges
langsamer als wenn dus „richtig“ schreiben würdest (und für
richtig gibts keine definition, denn es gibt immer einen
schnelleren und noch aufwe[ä!]ndigeren weg).

Klar, ich kann auch den Assembler lernen. :wink: Dann kaufe ich mir aber lieber 'nen Mac, da hat der Prozessor sicher noch Ähnlichkeit mit dem 7201 und den Assembler kann ich immer noch. :wink:

So ok, genug gelabert. Was ich eigentlich vorher sagen wollte
war, dass du bevor du mit mfc anfangst erstmal die
objektorientierung (was es in vb soweit ich weiß nicht gibt)
kapieren solltest, sonst wirst du spätestens wenn du mal ein
paar mehr fenster hast einige probleme kriegen (es geht schon
auch mit rumgefuchtel, aber das kann dann keiner mehr lesen).

OK, dazu habe ich oben bei Markus schon etwas geschrieben.
Ich habe wohl eine faslche Vorstellung, was ihr mit ‚objektorientiert‘ meint.

Ich würde dir empfehlen mal ein paar tage mit char-arrays,
pointern usw. rumzuspielen, dass du das auch schön kapierst.

Toller Vorschlag! Du hast den Punkt getroffen. ‚Rumspielen‘ wär’s. Ich bekomme aber nicht eine einzige eigene Zeile zum Laufen.

Ich versuche es mal mit einem Beispiel.:
Ich erkläre Dir, wie Addition und Subtraktion funktionieren und sage Dir, Du sollst ein wenig üben. Wie die Zahlen aussehen, verrate ich Dir aber nicht. Du hast dann kleine Chance, eine Aufgabe richtig zu rechnen.

Mfc ist nicht immer die schönste form, die machn da auch
typenunsichere (kann programm zum abkratzen bringen)
typenumwandlungen usw.

Was der Code da macht, weiß ich noch nicht. Ich habe nur schon mal ein Windowsfenster und eine graue Fläche gesehen und ein paar Steuerelemente, die ich auf diese Form legen kann.

achja: in c++ muss man variablen initialisieren und groß- und
kleinschreibung wird beachtet (nur als tipp, ich halt dich
nicht für blöd :smile: )

Danke! :wink: … In VB muß ich Variablen deklarieren (OK, könnte man auch lassen, dann bemerkt man aber Tippfehler nicht.)
Daß ich Groß-Kleinschreibung beachten muß, ist aber ein wichtiger Hinweis, das ist in VB ja nicht so. Da tippe ich absichtlich alles klein und erwarte, daß VB das ändert. Reagiert VB nicht, habe ich mich vertippt. … :wink:

OK, ich habe jetzt einiges an Vorschlägen, was ich lesen muß.
In ein paar Wochen komme ich mit weiteren Fragen, hoffentlich nicht mehr ganz so global. :wink:

Gruß, Rainer

PS. Die Schleife habe ich immer noch nicht fertig. :wink: Das vergesse ich wohl besser bis auf Weiteres.

Guten Morgen :smile:

das heißt nun aber nicht, daß ich mich mit 'nem Mathelehrer
messen muß? :wink: Größenwahnsinnig bin ich nun auch wieder
nicht.

Och nö. So hohe Anforderungen stellt die Programmierung in C++ nun auch wieder nicht :wink:

Hast Du etwas dagegen, mir den Begriff mal in knappen Worten
zu erklären? (falls das möglich ist :wink:)
Ich gebe mal von mir, was ich bisher darunter verstanden habe,
dann ist es leichter den Irrtum aufzuklären, hoffe ich.
Ich dachte, daß objektorientierung bedeutet, daß das Programm
in Prozeduren aufgeteilt ist, die auf Ereignisse von Objekten
reagieren und nur dann ablaufen, im Gegensatz zur linearen
Programmierung, wie z.B. bei QBasic, Blitzbasic, Assembler …
Dann wäre aber VB auch objektorientiert, was es aber wohl
nicht ist, wenn ich das nun richtig verstanden habe.

Objekt-orientiert bedeutet, dass eine Programmiersprache das Kreieren von Objekten in Form von Klassen gestattet. Wie im normalen Leben auch. Und so ein Objekt hat einen Namen, bestimmte Eigenschaften, Attribute, Methoden, kann ‚seine‘ Daten vererben…
Ein Klassenbeispiel (Achtung, Pseudocode…)

class Rainer_Fischer
{
private int m_intelligenz=100;
public double programmiere_cplusplus(int lerngeschwindigkeit=1, int Fortschritt){ int ergebnis = lerngeschwindigkeit * Fortschritt; return ergebnis;} ;
protected void wohne_saarland();
private bool kriege_graue_Haare_wegen_cplusplus();
}
usw… :wink:

Und das geht nun mal in der Ursuppe los. Die
Bücher von Erlenkötter sind dazu gut geeignet.

OK, wenn Du sagst, daß mich das voranbringt, werde ich da mal
investieren.

Eigentlich braucht es erstmal das Buch mit der einfachen C+±Programmierung.

Und die
Programmcodes gibts auch zum Runterladen:
http://www.erlenkoetter.de/html/downld1.htm

Hier ein einfaches Hallo Welt Beispiel mit der MFC:

// prg03_01.cpp
// Das kleinste Programm
#include

class CFenster : public CFrameWnd
{
public:
CFenster(){Create(NULL,_T(„Mini“));}
};

class CMeinProgramm : public CWinApp
{
public:
virtual BOOL InitInstance();
};

BOOL CMeinProgramm :: InitInstance()
{
m_pMainWnd = new CFenster();
m_pMainWnd->ShowWindow(m_nCmdShow);
return TRUE;
}

CMeinProgramm prg01;

Da kommt doch Freude auf, oder … ?

Sieht hübsch aus, verstehen soll ich das ja wohl nicht. …
Jedenfalls jetzt nicht. :wink:

so kann man das auch sehen…

Der Lesestoff, den Du vorgeschlagen hast, reicht bereits bis
Weihnachten.

Ja, dann halt dich ran :smiley: Ausserdem sollst Du ja auch nicht alles durchlesen. Irgendwann wiederholt sich die Geschichte. C++ soll angeblich jedenfalls aus rund 40 Befehlen bestehen…

Mein Problem mit der Ursuppe.:
Aber da muß ich wohl durch. Zwischendurch ein lauffähiges
Programm, auch mal ein Hauch mehr, als ‚Hallo Welt‘ wäre mir
eben angenehmer und würde den Vorgang sicher beschleunigen.

Schau’n mer mal, ob ich was finde.

mfg M.L.

1 Like

Hallo Markus,

Objekt-orientiert bedeutet, dass eine Programmiersprache das
Kreieren von Objekten in Form von Klassen gestattet. Wie im
normalen Leben auch. Und so ein Objekt hat einen Namen,
bestimmte Eigenschaften, Attribute, Methoden, kann ‚seine‘
Daten vererben…
Ein Klassenbeispiel (Achtung, Pseudocode…)

class Rainer_Fischer
{
private int m_intelligenz=100;
public double programmiere_cplusplus(int
lerngeschwindigkeit=1, int Fortschritt){ int ergebnis =
lerngeschwindigkeit * Fortschritt; return ergebnis;} ;
protected void wohne_saarland();
private bool kriege_graue_Haare_wegen_cplusplus();
}
usw… :wink:

Da sehe ich nur einen Fehler, graue Haare bekomme ich nicht erst, die werden höchstens mehr. :wink: Sonst, … verstanden!

Und das geht nun mal in der Ursuppe los. Die
Bücher von Erlenkötter sind dazu gut geeignet.

OK, wenn Du sagst, daß mich das voranbringt, werde ich da mal
investieren.

Eigentlich braucht es erstmal das Buch mit der einfachen
C+±Programmierung.

Eigentlich brauche ich erst mal eine Empfehlung genau eines einzigen Buches, wenn ich mehrere gleichzeitig anfange, werde ich nie fertig. :wink: ‚Step by step‘ war jedenfalls das falsche Buch.
das erklärt das Programm ‚Visual C++‘ von Microsoft, den Umgang mit diesem Programm, aber nicht die Programmierung von C++. Eine glatte Fehlinvestition. Wenn mir noch ein paar Fehlgriffe in diese Richtung gelingen, bin ich pleite … (ach ne, bin ich ja jetzt schon. :wink:) … und kann immer noch nicht programmieren.

Da kommt doch Freude auf, oder … ?

Sieht hübsch aus, verstehen soll ich das ja wohl nicht. …
Jedenfalls jetzt nicht. :wink:

so kann man das auch sehen…

Der Lesestoff, den Du vorgeschlagen hast, reicht bereits bis
Weihnachten.

Ja, dann halt dich ran :smiley: Ausserdem sollst Du ja auch nicht
alles durchlesen. Irgendwann wiederholt sich die Geschichte.

Ohne Übungen zwischendurch, um das Gelernte zu festigen, merke ich das nicht. So lange ich nur lese und keine einzige eigene Zeile zustande bringe, schlafe ich nur irgendwann beim Lesen ein. :wink:

C++ soll angeblich jedenfalls aus rund 40 Befehlen bestehen…

Au fein!!! Dann zähl doch mal die wichtigsten zehn auf. Die Syntax verrät mir dann die MSDN. :wink:

Mein Problem mit der Ursuppe.:
Aber da muß ich wohl durch. Zwischendurch ein lauffähiges
Programm, auch mal ein Hauch mehr, als ‚Hallo Welt‘ wäre mir
eben angenehmer und würde den Vorgang sicher beschleunigen.

Schau’n mer mal, ob ich was finde.

Im Moment bin ich dabei, am Abend (ab heute Abend. :wink:) zu lesen, was mir einer Deiner links geliefert hat.

‚Einführung in C++‘ von Rudolf Lehn … hab’s mir mal gedruckt. …

Gruß, Rainer

Schreikrampf …
Hallo Markus,
es geht schon wieder los mit mir. Gerade habe ich den ersten Schreikrampf überwuden.

Ich habe mir den text von Herrn Lehn genommen, VC++ gestartet und weil es interessant aussah, mal angefangen das Beispiel ‚Addition zweier ganzer Zahlen‘ zu tippen.
Die Deklaration lief noch normal, dann wollte ich
std::cout … tippen und zu meiner Überraschung hat sich dann zum ersten mal die Intellisense bei mir gemeldet. ‚GROSSE FREUDE!!!‘ … nur war da weder ‚cin‘ noch ‚cout‘ mit aufgelistet. ;-(
Der Text geht scheinbar von einem Editor/Compiler für Unix/Linux aus und die Syntax scheint nicht so ganz kompatibel zu Microsoft zu sein.

‚Probieren‘ wird also wieder mal nichts. ;-( Macht es denn nun Sinn, weiter zu lesen? Die abgedruckten codes laufen bei mir ja nicht.

Gruß, Rainer

… und es bewegt sich doch …
Hi Marcus,

nerve ich langsam? …

nun steht da …

#include "stdafx.h"
#include "iostream"

int main(int argc, char\* argv[])
{
 int integer1 , integer2 , sum;
 std::cin \>\> integer1;
 std::cin \>\> integer2;
 sum = integer1 + integer2;
 std::cout 

und es läuft. ... Nach dem zweiten doppelpunkt geht eine Liste auf, in der cin und cout nicht vorkommen, das stört das Programm aber gar nicht. :wink: Sind das Befehle, die M$ vergessen hat?

Gruß, Rainer

Mahlzeit.

Hi Marcus,

Markus mit …k… bitte sehr… Gelle, Rhainer ?

#include „stdafx.h“
#include „iostream“

int main(int argc, char* argv[])
{
int integer1 , integer2 , sum;
std::cin >> integer1;
std::cin >> integer2;
sum = integer1 + integer2;
std::cout

Die stdafx.h sollte man eigentlich nicht brauchen, da es sich um ein Konsolenprogramm handelt. Einfach // vor die Zeile setzen. Bei Fehlermeldung wieder zurücknehmen :wink:

und es läuft. … Nach dem zweiten doppelpunkt geht eine Liste
auf, in der cin und cout nicht vorkommen, das stört das
Programm aber gar nicht. :wink: Sind das Befehle, die M$
vergessen hat?

Kann sein. Aber man kann auch '#include […]cin >> integer1; cin >> integer2; […] cout

Hallo,

Das Visual C++ (/Studio) intellisense ist ja nicht grad das
tollste, besorg dir am besten eine (demo?)kopie von Visual
Assist (www.wholetomato.com). Dann sieht die Sache schon ganz
anders aus :wink:

hmmm, ich würde eigentlich ganz gern Studio (enterprise)
weiter verwenden, das ist schon bezahlt. :wink: Das war nicht
ganz billig.

Visual Assist ist ein Plugin/Addin für Visual Studio, schau dir die Seite von oben an oder installiers einfach, dann kapierst du warum wir hier ohne das nicht arbeiten könnten :smiley:

PS. Die Schleife habe ich immer noch nicht fertig. :wink: Das
vergesse ich wohl besser bis auf Weiteres.

also nachdem du das ja schon im anderen beispiel hast mit initialisieren gehts doch einfach :smile:

int i=0;
for(i=0; i

Hallo Markus,

Hi Marcus,

Markus mit …k… bitte sehr… Gelle, Rhainer ?

Entschuldigung, Tippfehler. :wink:

#include „stdafx.h“
#include „iostream“

int main(int argc, char* argv[])
{
int integer1 , integer2 , sum;
std::cin >> integer1;
std::cin >> integer2;
sum = integer1 + integer2;
std::cout

Die stdafx.h sollte man eigentlich nicht brauchen, da es sich
um ein Konsolenprogramm handelt. Einfach // vor die Zeile
setzen. Bei Fehlermeldung wieder zurücknehmen :wink:

Das hatte ich beides schon gemacht. Das Auskommentieren und auch das Zurücknehmen nach dem Fehler. :wink:

und es läuft. … Nach dem zweiten doppelpunkt geht eine Liste
auf, in der cin und cout nicht vorkommen, das stört das
Programm aber gar nicht. :wink: Sind das Befehle, die M$
vergessen hat?

Kann sein. Aber man kann auch '#include
[…]cin >> integer1; cin >>
integer2; […] cout

Hallo Christoph,

Visual Assist ist ein Plugin/Addin für Visual Studio, schau
dir die Seite von oben an oder installiers einfach, dann
kapierst du warum wir hier ohne das nicht arbeiten könnten :smiley:

Werde ich gleich tun.

PS. Die Schleife habe ich immer noch nicht fertig. :wink: Das
vergesse ich wohl besser bis auf Weiteres.

also nachdem du das ja schon im anderen beispiel hast mit
initialisieren gehts doch einfach :smile:

int i=0;
for(i=0; i

#include „stdafx.h“
#include „iostream“

int main(int argc, char* argv[])
{
int i=0;
for ( i = 0 ; i

und im Fenster dann hübsch untereinander die Zahlen von 0 - 9.

Na endlich läuft auch mal etwas. :wink:

Gruß, Rainer

Hallo Rainer,

Bis jetzt habe ich…

> void CTest7Dlg::open\_mouth:nButton1()  
> {

**int i;**


> for ( i = 0; i




> (Die Hilfe zu VB brauche ich immer noch, das verwende ich  
> schon seit Jahren. :wink:)


C verhält sich wie VB mit der "Option Explizit", Variablen müssen immer declariert werden !!

MfG Peter(TOO)