-
02. 05. 2008, 00:04 #2014puebloGast
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Hi,
kann ich ohne bedenken, in c++ die 1.Schreibweise verwenden (also Klassen ohne Header) oder kann es da zu Problemen kommen?
Ist es richtig, das Header Dateien in ihrer Funktion vergleichbar sind mit Interfaces in Java?
Also "keine Bedeutung" für den Programmablauf haben und nur der Modularisierung dienen?
1. Klasse ohne HeaderSpoiler:
PHP-Code:class Knoten{
private:std::string name;
public:Knoten(std::string init_name){
name=init_name;
};
public:~Knoten(){};
public:std::string getName(){
return name;
};
};
2. Klasse mit HeaderSpoiler:
PHP-Code:#ifndef KNOTEN_H_
#define KNOTEN_H_
class Knoten{
public:
Knoten(std::string);
~Knoten();
std::string getName();
private:
std::string name;
};
#endif
PHP-Code:#include "Knoten.hpp"
Knoten::Knoten(std::string init_name){
name=init_name;
}
Knoten::~Knoten(){}
std::string Knoten::getName(){
return name;
}
ich weiß, das die 2. Schreibweise für größere Projekte von Vorteil ist.
Die 1. ist mir aber lieber.
Vielen Dank für die Hilfe.
-
02. 05. 2008, 00:08 #202
Re: [Sammelthread] Codeschnippsel und kurze Fragen
- Du benutzt std::string, also solltest du <string> inkludieren.
- Einen funktionslosen Destruktor zu definieren ist nicht sinnvoll.
- Ein #include hat im wesentlichen zur Folge, dass der Inhalt der angegebenen Datei an entsprechender Stelle 1:1 in den Code kopiert wird.
- Die Sichtbarkeit (public/private) in der Klassendeklatation vor jede Methode zu schreiben ist nicht sinnvoll und erweckt auf mich den Eindruck, dass du Java-Syntax verwenden willst.
Mit Grüssen aus'm Ozean
KugelfischToday is Sweetmorn, the 41st day of Chaos in the YOLD 3178
-
02. 05. 2008, 00:12 #2034puebloGast
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Hey Kugelfisch23
Mir geht es nicht um die Richtigkeit des codes!
Nur um die Schreibweise der Klassen!
Ich hatte noch überlegt, ob ich es dazu schreibe.
Aber danke.
-
02. 05. 2008, 00:17 #204
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Naja, wenn du eine Klasse nur in einem einzigen Modul intern brauchst, muss die Deklaration meiner Meinung nach nicht zwingend in einen Header. Der Header dient u.a. dazu, dass die dort deklarierten Klassen in mehreren Module verwendet werden können.
Zitat von canuma
Mit Grüssen aus'm Ozean
KugelfischToday is Sweetmorn, the 41st day of Chaos in the YOLD 3178
-
02. 05. 2008, 00:35 #2054puebloGast
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Aber wenn ich den Header inkludiere, wird denn dann nicht auch die Source automatisch inkludiert?
Wenn ich also die 1. Schreibweise verwende, kann ich doch auch gleich die komplette datei inkludieren?
Wie gesagt ich rede von kleinen Projekten. Ich finde 5 Dateien einfach übersichtlicher als 5 src und 5 header ->10 Dateien.
Danke für die Hilfe
-
02. 05. 2008, 00:45 #206
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Nein. Die eigentlichen Code-Teile, die nicht in den Headern stehen, werden einzeln zu Objekten Compiliert und am Ende zu einem Binary gelinkt. Inkludiert werden sinnvollerweise nur die Deklarationen, kein Code.
Zitat von canuma
Nein. Dann hast du sofort mehrfach vorhandene Symbole.
Zitat von canuma
Mit Grüssen aus'm Ozean
KugelfischToday is Sweetmorn, the 41st day of Chaos in the YOLD 3178
-
02. 05. 2008, 00:50 #2074puebloGast
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Ich Idiot. Wenn es so wäre, hätte ich ja in jeder Source die einen Header inkludiert, eine Endlosschleife.
Zitat von canuma
Ok, dann muß ich mich doch an diese Header gewöhnen. Ich Danke dir
-
02. 05. 2008, 16:36 #208
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Hi
Ich bin gerade dabei C zu lernen und hab da mal eine Frage
nämlich ob mein Programmierstil gut und übersichtlich ist oder nicht ?
Hier ist der QuellcodeCode:/*Übung zu dem Kapitel Steuerzeichen Teil 1*/ #include <stdio.h> int main (void) { printf("C ist leicht zu \a\n"); //ein Signalton und eine Zeile nach unten printf("\t\tl\n"); //16 Leerzeichen weiter und eine Zeile runter printf("\t\te\n"); // -||- printf("\t\tr\n"); // -||- printf("\t\tn\n"); // -||- printf("\t\te\n"); // -||- printf("\t\tn\n\a"); // -||- Signalton getchar(); return 0; }
-
02. 05. 2008, 16:48 #209
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Dir fehlen eindeutig Einrückungen und vielleicht mal ne Leerzeile. Ich würds eher so schreiben:
Code:/*Übung zu dem Kapitel Steuerzeichen Teil 1*/ #include <stdio.h> #include <stdlib.h> int main (void) { printf("C ist leicht zu \a\n"); //ein Signalton und eine Zeile nach unten und 2 Tabs vor printf("\t\t"); //2 Tabs weiter printf("l \n"); //eine Zeile runter printf("\t\t"); //2 Tabs weiter printf("e \n"); // eine Zeile runter printf("\t\t"); //2 Tabs weiter printf("r \n"); //eine Zeile runter printf("\t\t"); //2 Tabs weiter printf("n \n"); //eine Zeile runter printf("\t\t"); //2 Tabs weiter printf("e \n"); //eine Zeile runter printf("\t\t"); //2 Tabs weiter printf("n \n\a"); //Signalton getchar(); return EXIT_SUCCESS; }Wer eine 2 braucht, denkt nicht abstrakt genug!
Understanding Computer Technology
Dont't Panic! -> 101010
"If you think it's simple, then you have misunderstood the problem." - Bjarne Stroustrup
-
03. 05. 2008, 10:12 #210
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Hi, ich müsste von einem Programm aus diverse Terminal cmds ausführen lassen (unter OS X 10.5, C++). Dazu verwende ich Qt, ich schaffs auch schon dass es startet, nur leider wird der Befehl nicht ausgeführt. Hier der Code, vielleicht könnte mir jemand sagen was da dran nicht stimmt bzw. wie man es richtig macht:
PHP-Code:QProcess *Terminal = new QProcess(this);
QString program = "/Applications/Utilities/Terminal.app";
Terminal->start(program);
if(Terminal->Running)
Terminal->write("open /Applications/BetterZip.app");
Terminal->closeWriteChannel();
Danke schon mal
EDIT: Gelöst:
PHP-Code:QProcess proc;
proc.startDetached(QString( "Befehl" ));
proc.close();
--------------------------------------------------------------------
Früher wurde mir nachgesagt ich wäre arrogant -
Heute weiß ich, dass ich perfekt bin..
--------------------------------------------------------------------
-
03. 05. 2008, 18:35 #2114puebloGast
Re: [Sammelthread] Codeschnippsel und kurze Fragen
[c++ socket2 win32]
Hi, ich hab jetzt meinen ersten mini Webserver, aber so richtig läuft der nicht.
Mit dem Socket aufbauen und verbinden funktioniert alles soweit.
WSAStartup(..)
socket(...)
bind(...)
listen(...)
accept(...)
Nur wenn ich an den Browser etwas schicke, also mit send (...) kommt es nicht an.
Erst, wenn ich den Server schließe bzw. wenn ich den Server umschreiben und nach dem send(...) den Socket schließe mit closesocket(....) und zusätzlich WSACleanup() aufrufe. Erst dann kommt der Text am Browser an.
Was mache ich falsch? Meine gesendeten chars enden mit "/0".
Den Code wollte ich nicht unbedingt zeigen
-
03. 05. 2008, 19:40 #212
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Hast du auch brav die recv()-Funktion im Server, dass du die Daten auch erhälst?
Fluchen ist die einzige Sprache, die die Programmierer wirklich können - unbekannter Autor
-
03. 05. 2008, 20:05 #2134puebloGast
Re: [Sammelthread] Codeschnippsel und kurze Fragen
hey..
ja hab ich.
Spoiler:
PHP-Code:while (true){
long rc = recv(sock,buf,RECV_BUF_MAXLEN,0);
if (rc == SOCKET_ERROR) {
std::cout << "Error: Cannot recv Data: " << WSAGetLastError() << std::endl;
throw WSAGetLastError();
}
buf[rc] = '\0';
mySend(buf);
}
-
03. 05. 2008, 20:42 #214
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Wäre wohl eine gescheite Idee, wenn du nicht den letzten Satz nur ausgeben willst.
Fluchen ist die einzige Sprache, die die Programmierer wirklich können - unbekannter Autor
-
03. 05. 2008, 21:31 #2154puebloGast
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Ok danke, hat sich erledigt.
-
04. 05. 2008, 15:13 #2164puebloGast
Re: [Sammelthread] Codeschnippsel und kurze Fragen
so, nochmal zum win32 Server
Ich denke das Prinzip hab ich verstanden.
Leider geht die Ausgabe nicht immer.
Meine gesendeten Daten, von meinem Server zum Browser, werden hin und wieder "verschluckt". Also die Daten werden gesendet aber der Browser zeigt sie nicht an.
Kann mir jemand sagen was der Fehler sein könnte?
Edit:
Fehler gefunden, nach dem Aufruf der send() Methode, macht es sich ganz gut, einen EOF zu schicken
Geändert von 4pueblo (08. 05. 2008 um 17:24 Uhr) Grund: gelöst
-
04. 05. 2008, 18:27 #217
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Falls jemand was mit ID3v1 Tags machen möchte, hier die Liste der Genres schon in einem Array eingetragen.
Ihr müsst die gleiche Arbeit ja nicht noch einmal machen.
Code:String[] lGenreNames = { // Standart genre "Blues", "Classic Rock", "Country", "Dance", "Disco", "Funk", "Grunge", "Hip-Hop", "Jazz", "Metal", "New Age", "Oldies", "Other", "Pop", "R&B", "Rap", "Reggae", "Rock", "Techno", "Industrial", "Alternative", "Ska", "Death Metal", "Pranks", "Soundtrack", "Euro-Techno", "Ambient", "Trip-Hop", "Vocal", "Jazz+Funk", "Fusion", "Trance", "Classical", "Instrumental", "Acid", "House", "Game", "Sound Clip", "Gospel", "Noise", "AlternRock", "Bass", "Soul", "Punk", "Space", "Meditative", "Instrumental Pop", "Instrumental Rock", "Ethnic", "Gothic", "Darkwave", "Techno-Industrial", "Electronic", "Pop-Folk", "Eurodance", "Dream", "Southern Rock", "Comedy", "Cult", "Gangsta", "Top 40", "Christian Rap", "Pop/Funk", "Jungle", "Native American", "Cabaret", "New Wave", "Psychadelic", "Rave", "Showtunes", "Trailer", "Lo-Fi", "Tribal", "Acid Punk", "Acid Jazz", "Polka", "Retro", "Musical", "Rock & Roll", "Hard Rock", // additional winamp genres "Folk", "Folk-Rock", "National Folk", "Swing", "Fast Fusion", "Bebob", "Latin", "Revival", "Celtic", "Bluegrass", "Avantgarde", "Gothic Rock", "Progressive Rock", "Psychedelic Rock", "Symphonic Rock", "Slow Rock", "Big Band", "Chorus", "Easy Listening", "Acoustic", "Humour", "Speech", "Chanson", "Opera", "Chamber Music", "Sonata", "Symphony", "Booty Bass", "Primus", "Porn Groove", "Satire", "Slow Jam", "Club", "Tango", "Samba", "Folklore", "Ballad", "Power Ballad", "Rhythmic Soul", "Freestyle", "Duet", "Punk Rock", "Drum Solo", "Acapella", "Euro-House", "Dance Hall" };
-
06. 05. 2008, 15:48 #218Mitglied
- Registriert seit
- Mar 2007
- Beiträge
- 334
Re: [Sammelthread] Codeschnippsel und kurze Fragen
[C++]
hihu also ich hab da son kleines Problem ich bin im mom dabei aus langeweile sozusagen einen Chatbot zu programmieren. Als Datenbanken hab ich im mom txt dateien genommen (aja ich weiß unklug langsam usw aber naja egal)
PHP-Code:#include<iostream>
#include<conio.h>
#include<fstream>
#include<windows.h>
using namespace std;
int Datenbank() //um die Datenbank zu durchsuchen
{
ifstream file ("E:\\Eigene Dokumente\\KI\\Datenbanken\\Datenbank.txt");
}
int main()
{
string Eingabe ;
cin>>Eingabe;
{
if //hier liegt das Problem
Datenbank();
}
system("PAUSE");
return EXIT_SUCCESS;
}
also bei der if dingens soll halt geguckt werden, ob das eingegeben in der Datenbank ist. Also eigentlich soll der PC die datei öffnen was er ja tut. Dann soll er nach der Eingabe suchen und gucken was hinter der eingabe steht und je nachdem verfahren.
Also theoretisch so:
wenn dort steht (Eingabe)=Begrüßung
Dann gib auf dem Bildschirm eine Begrüßugn aus.
nur wie kann ich den PC nach Eingabe suchen lassen und dann auch noch sagen wenn dort steht blabla bla dann tu das und das?
-
06. 05. 2008, 17:50 #219Mitglied
- Registriert seit
- Dec 2006
- Beiträge
- 48
Re: [Sammelthread] Codeschnippsel und kurze Fragen
Kurze Frage: Es gab in Visual Basic 6.0 einen Befehl, den man in eine Endlosschleife schreiben konnte, damit die Anwendung noch ansprechbar blieb. Den entsprechenden Befehl suche ich für C#.
-
06. 05. 2008, 20:11 #220Mitglied
- Registriert seit
- Mar 2007
- Beiträge
- 334
Re: [Sammelthread] Codeschnippsel und kurze Fragen
du meinst damit sich die anwendung nicht gleich schließt? bei c und c++ isses return=0 glaub ich
-


Zitieren
mehr lesen...





Filehoster HellShare sperrt User...
Heute, 14:43 in gulli:news