This is topic brauche mal ein c++ beispiel in forum Produktions- & DJ-Technik, Hard- & Software at technoforum.de.
Um den Thread anzusehen, klicke auf diesen Link:
https://forum.technoforum.de/cgi-bin/ultimatebb.cgi?ubb=get_topic;f=6;t=005017
Geschrieben von: requital (Usernummer # 4539) an
:
hallo da ich mich leider mit c++ nicht sonderlich auskenne, bräuchte ich mal ein kleines beispiel programm.
es sollte eine zahl an eine klasse übergeben.
diese klasse soll dann die zahl verdoppeln und ausgeben.
danke schonmal im voraus!!!
[ 20.09.2003, 17:09: Beitrag editiert von: requital ]
Geschrieben von: smpx7 (Usernummer # 3909) an
:
Ich kann Dir da auch net sonderlich weiterhelfen, aber ich hab da nen Plan
1. Programm
Erwartet die Eingabe einer Zahl
nach dieser Eingabe ruft es das Programm2 auf (glaube Befehl war 'system')
2. Programm
liest mit hilfe von args[1] die als Parameter übergebene Zahl, multipliziert sie mit 2 und gibt sie aus.
Ich glaub ich könnt das sogar gleich mal programmieren
Geschrieben von: requital (Usernummer # 4539) an
:
ja ne so wars eigentlich nicht gemeint.
es sollte eine klasse dafür benutzen die zahl zu verdoppeln!
hab mich da wohl nicht richtig ausgedrückt!
Geschrieben von: Tribal-Tec (Usernummer # 3904) an
:
blöde frage vorweg: kann die klasse sonst nix, oder wird die dann noch erweitert, weil eine Klasse für ein solch "simples" Problem macht eigentlich wenig sinn.
Geschrieben von: Cymorris (Usernummer # 5951) an
:
Hi,
ich würde dir gern weiterhelfen, aber irgendwie versteh ich die Frage nicht ganz...
Ne Klasse (Objektorientierung ?!) ist doch eigentlich ein "Bauplan" für einen Datensatz, mit Eigenschaften und Methoden...
Ne Klasse an sich führt doch nichts aus ?!
Ich "lerne" C++ in der Berufsschule (Borland C++ Builder), und wir haben im ersten Jahr
eigentlich nur Konsolenanwendungen programmiert, und im zweiten Jahr was mit Visual C++ gemacht.
Aber so ein Beispiel wie deins ist nicht vorgekommen. Falls ich mit was anderem dienen kann, kannst mir ja ne Mail schreiben.
Schönen Abend.
Geschrieben von: smpx7 (Usernummer # 3909) an
:
Genau das mit der Klasse stört mich auch ein wenig. Das bäste wäre da eine Funktion, damit könnte ich dienen
Geschrieben von: nicogrubert (Usernummer # 1292) an
:
warum eine klasse?
eine klasse beschreibt ein objekt und dessen attribute, methode etc.
ich denke, eine methode wäre das richtige, die (in Python) so aussieht:
ganz trivial:
def verdoppel(zahl):
return zahl + 2
oder mit ein paar abfragen:
def verdoppel(zahl):
if zahl:
try:
z = int(zahl)
return z*2
except:
return "%s ist keine Zahl." % z
cheers,
nico
edit: okay, ist zwar nicht c++, aber das prinzip sollte klar sein.
[ 21.09.2003, 10:21: Beitrag editiert von: nicogrubert ]
Geschrieben von: Herr Minimal (Usernummer # 3603) an
:
nico c++ nicht irengdwas
include iostream //hier sollten spitze klammern stehen
class doubling
{
private:
int zahl;
public:
doubling();
~doubling();
void double(int ~zahl) { zahl = 2*~zahl; cout "zwei spitze klammenr nach links" zahl;}
}
void main void
{
doubling d = new doubling(); //weiss net ob das so genau geht, hab zu lange java gehabt
d.double(4); //jetzt sollte 8 ausgegeben werden
}
Geschrieben von: requital (Usernummer # 4539) an
:
ich brauche halt ein main prog, welches eine methode in einer klasse aufruft. die verdoppel() methode in der klasse soll dann die zahl verdoppeln und ausgeben oder auch zurück ans main prog. geben.
unter java würde ichs natürlich selber hinbekommen, nur c++ ist mir noch fremd. als methode in einem prog würde ich's auch unter c++ hinbekommen. nur brauche ich ein programm welches aus zwei teilen besteht, die später zusammen gelinkt werden müssen.
ich brauche das beispiel um später daran den linkvorgang und relokation etc. zu erklären! dazu muss ich compilieren ohne zu linken, um an einem vorher nachher beispiel die vorgänge zu schildern. und javac hat eine solche option so weit ich weiß nit!
Bsp in java:
------------------------------
main.java
-----------------------
..
..
doppel dop = new doppel(); //konstruktor erstellen
dop.verdoppel(2); //methode in klasse "doppel" aufrufen
..
..
..
-----------------------
doppel.class
--------------------
...
...
...
public void doppel(int zahl){
zahl = zahl*2;
System.out.println("Ergebniss: ",zahl);
}
..
..
-------------------------------
so würde es in java aussehen nur ich brauche es halt in c++!!!
schonmal dankeschön!!
Geschrieben von: Herr Minimal (Usernummer # 3603) an
:
ja schau dir mein beispiel an .. das ist c++
//doppel.h
class doppel
{
private:
int zahl;
public:
doppel();
~doppel();
void verdoppel(int zahl);
}
//doppel.cpp
doppel::doppel()
{
zahl = 0;
}
doppel::~doppel()
{
}
void doppel::verdoppel(int ~zahl)
{
zahl = 2*~zahl;
printf("Die zahl ist %d", zahl);
}
//main.cpp
include doppel.h //in spitzen klammern
void main(void)
{
doppel d = new doppel();
d.verdoppel(4); //sollte eine 8 ausgeben
}
Geschrieben von: requital (Usernummer # 4539) an
:
ok irgendwie kann ich jetzt nicht das komplette post editieren, der smile sollte eigentlich dieser hier sein
. der andere sieht so nach auslachen aus ......so sollte es aber nicht gemeint sein!
aaahh vollkommen übersehen
das sieht so aus als wäre es genau das was ich brauche!
Geschrieben von: Herr Minimal (Usernummer # 3603) an
:
scjhau dir das editierte von mir nochmal an
das ist so wie man es machen sollte.
Geschrieben von: requital (Usernummer # 4539) an
:
was soll die ~ immer bedeuten?
Geschrieben von: mik (Usernummer # 5095) an
:
~ ist der Destruktor und ist im Prinzip das Gegenteil des Konstruktors.
Geschrieben von: smpx7 (Usernummer # 3909) an
:
Die ~ beschreiben den Destructor. Zu jedem Konstruktor gibt es einen Destructor.
Hier mal eine Erläuterung aus einem anderem Board kopiert (c-plusplus.de):
Zitat:
Hallo,
in der Objektwelt von C++ ist der Konstruktor der Anfang, der Schöpfer, die Funktion die einem Haufen Nichts das Leben einhaucht und es in ein frisches, eigenständiges, lebendiges und hoffentlich glückliches Objekt umwandelt. Das Leben eines Objekts beginnt mit dem Ablauf eines Konstruktors. Bevor also nicht ein Konstruktor abgelaufen ist, kann ein Objekt nicht verwendet werden.
Ein Konstruktor schafft die Voraussetzungen um ein Objekt sinnvoll nutzen zu können. Hier werden Member initialisiert, Resourcen angeforder und was sonst noch alles nötig ist.
Da es unterschiedliche sinnvolle Anfangswerte für ein Objekt geben kann, kann es für eine Klasse auch mehrere Konstruktoren geben.
Ein Destruktor ist das genaue Gegenteil vom Konstruktor. Er ist das Ende, der Tod, die Funktion, die ein lebendiges, eigenständiges Objekt nach (hoffentlich) verrichteter Arbeit zurück in ein Haufen Nichts verwandelt.
Das Leben eines Objekts endet mit dem Aufruf des Destruktors.
Hier werden Resourcen freigegeben und sonstige Aufräumarbeiten verrichtet.
Für jede Klasse kann es nur genau einen Destruktor geben.
Geschrieben von: requital (Usernummer # 4539) an
:
mmmm also ich hab jetzt dran rumprobiert, und ...........es läuft nicht!
kannste nochmal den sourcecode posten, der bei dir funzt?
und zwar mit jedem punkt und komma?
das wäre echt nett!
Geschrieben von: Herr Minimal (Usernummer # 3603) an
:
jo ok. muss ich dann heute abend mal machen.. bin noch in der uni.
Geschrieben von: Herr Minimal (Usernummer # 3603) an
:
//main.cpp
#include
#include "verdoppel.h"
using namespace std;
int main (int argc, const char * argv[])
{
verdoppel *v = new verdoppel();
v->calculate(4);
return 0;
}
//verdoppel.h
using namespace std;
class verdoppel
{
private:
int zahl;
public:
verdoppel();
~verdoppel();
void calculate(int z);
};
//verdoppel.cpp
#include
#include "verdoppel.h"
using namespace std;
verdoppel::verdoppel()
{
zahl = 0;
}
verdoppel::~verdoppel()
{
}
void verdoppel::calculate(int z)
{
zahl = 2*z;
cout << "zahl = " << zahl;
}
hinter dem leeren include steht ein iostream in einfachen spitzen klammern. danke html sieht mans hier nicht. ansonsten geht der code so. habs mal eingehackt.
Geschrieben von: shadow (Usernummer # 1472) an
:
Hab mal versucht es so einfach wie möglich und ohne Verschachtelungen zu schreiben. Sorry für die unmöglichen Classen-, Variablen- und Methodennamen. Mir ist auf die Schnelle leider nix besseres eingefallen *g*
#include
class ClassVerdopplung
{
private:
int Ergebnis;
public:
void verdoppeln(int Zahl);
};
void ClassVerdopplung::verdoppeln(int Zahl)
{
Ergebnis = Zahl * 2;
printf("Zahl: %i Ergebnis: %i ", Zahl, Ergebnis);
}
void main()
{
ClassVerdopplung Verdopplung;
int zahl;
zahl = 4;
Verdopplung.verdoppeln(zahl);
}
(c) 1999/2ooo/y2k(+1/+2/+3+4+5+6+7+8+9+2010+2011+2012+2013+2014+2015+2016+2017+2018+2019+2020+2021+2022+2023+2024+2025) technoforum.de | www.techno-forum.de
Das Forum für Techno | House | Minimal | Trance | Downbeats | Drum & Bass | Grime | Elektro | IDM | Elektronika | Garage | AI Music Suno Udio | Schranz | Hardtrance | Future Bass | Minimal Music | Ambient | Udio.ai | Dub | 2Step | Breakcore | no Business Techno | Dubstep | Big Room Techno | Grime | Complextro | Mashups | mnml | Bootlegs | Chicago House | AI Music Suno Prompt | Acid House | Detroit Techno | Chillstep | Arenastep | IDM | Glitch | Grime | Reaktor Ensembles | NuWave | Experimental Music | Noise Music | Fidgethouse | Ableton Live 12 | Melbourne Bounce | Minimal Trap | Sinee | kvraudio alternative | EDM | Splice | Bandcamp Soundcloud | Free Techno Music Download | Progressive Electro House | Free VSTi |
Betreiberangaben & Impressum siehe readme.txt, geschenke an: chris mayr, anglerstr. 16, 80339 münchen / fon: o89 - 5oo 29 68-drei
E-Mail: webmaster ät diesedomain
similar sites: www.elektronisches-volk.de | Ex-Omenforum | techno.de | USB | united schranz board | technoboard.at | technobase | technobase.fm | technoguide | unitedsb.de | tekknoforum.de | toxic-family.de | restrealitaet restrealität | boiler room
Diese Seite benutzt Kuhkies und du erklärst dich damit bei Betreten und Benutzung dieser Seite damit einverstanden. Es werden keinerlei Auswertungen auf Basis ebendieser vorgenommen. Nur die Foren-Software setzt Kuhkies ausschließlich für die Speicherung von Nutzerdaten für den einfacheren Logon für registrierte Nutzer, es gibt keinerlei Kuhkies für Werbung und/oder Dritte. Wir geben niemals Daten an Dritte weiter und speichern lediglich die Daten, die du uns hier als Nutzer angegeben hast sowie deine IP-Adresse, d.h. wir sind vollkommen de es fau g o-genormt, nixdestotrotz ist das sowieso eine PRIVATE Seite und nix Gewerbliches.
Powered by Infopop Corporation
UBB.classicTM
6.5.0