Willkommen ~Gast!
Registrieren || Einloggen || Hilfe/FAQ || Staff
Probleme mit der Registrierung im Forum? Melde dich unter registerEin Bild.
Autor Beitrag
000
12.07.2010, 19:47
bennifilm



Obwohl ich mir ziehmlich sicher bin das es so wie ich mir das denke nicht klappen
wird will ich gerne wissen wie man das anders lösen kann oder ob es überhaupt
machbar ist.

Ich hab einfach zur Veranschaulichung des Problem ein kleines Programm geschrieben. Obwohl man in diesem Fall genau weiß wie viele Instanzen man braucht such ich eine Möglichkeit beliebig viele zu erstellen.

Es geht darum das jede Kiste eine Instanz ist und der Benutzer der Kiste einen
Inhalt und eine ID verpassen kann.
Pro Durchlauf der While Schleife wird eine neue Instanz/Kiste erstellt.

Quellcode:
// Beispiel Programm Instanzen
#include <iostream>
#include <string>

using namespace std;

class kiste
{
    public:
        string inhalt;

        kiste()
        {
            inhalt = "";
            id = "";
        }

        void set_ID()
        {
            cin >> id;
        }

        void set_inhalt()
        {
            cin >> inhalt;
        }
};



int main()
{
    int anzahl_kisten = 0;

    while (anzahl_kisten != 10)
    {
        ++anzahl_kisten;

        // So denk ich mir das
        a[anzahl_kisten] kiste;

        a[anzahl_kisten].set_ID();
        a[anzahl_kisten].set_inhalt();
    }
}

--

::Alien Swarm Sunstation 583::
::Left 4 Dead:: b_alley 95% | b_office 65%
::Battlemod:: steht still

http://www.iop-b.de/

zum Seitenanfang zum Seitenende Profil || Suche
001
12.07.2010, 20:25
caedes



wo kommt das a[] her?
davon abgesehen bräuchtest du hier wohl irgendne dynamische datenstruktur.. verlinkte liste, dynamisches array, irgendsowas. da kannst du dann soviele instanzen reinschmeißen bis dein RAM voll ist.

--

caedes

Deutschland rückt nach Einschätzung der Sicherheitsbehörden im Superwahljahr verstärkt ins Visier von Terroristen.

zum Seitenanfang zum Seitenende Profil || Suche
002
12.07.2010, 20:29
bennifilm



Das a[] steht nur für eine Art provisorische Lösung / Vorstellung.

Jetzt weiß ich schonmal wo nach ich suchen muss. Kann vielleicht jemand ein Beispiel posten ?

--

::Alien Swarm Sunstation 583::
::Left 4 Dead:: b_alley 95% | b_office 65%
::Battlemod:: steht still

http://www.iop-b.de/

zum Seitenanfang zum Seitenende Profil || Suche
003
12.07.2010, 21:10
Raziel



doch nicht ;)

--


Dieser Beitrag wurde am 12.07.2010 um 21:16 von Raziel bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
004
12.07.2010, 21:25
Bluthund



Quellcode:a[anzahl_kisten] kiste; ist keine gueltige C++-Syntax (egal was a, anzahl_kisten und kiste ist).
Wie caedes schon sagte suchst du einen Container der dynamisch waechst. Die STL bietet da einiges an. Wie z.B. vector, den Raziel vorgeschlagen hatte und jetzt wieder rauseditiert hat.
Aber bitte arbeite erst einmal die Grundlagen in deinem Buch/Tutorial gruendlich durch.

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-

zum Seitenanfang zum Seitenende Profil || Suche
005
12.07.2010, 21:36
bennifilm



Ok dann werd ich wohl in meinem Brocken weiter arbeiten müssen.

Hab nur noch ein paar Fragen :

Versteht man under einem dynamisch wachsenden Container einen Stack ?

Wie viel Grundlagen sind für ein solches Programm notwendig ?

--

::Alien Swarm Sunstation 583::
::Left 4 Dead:: b_alley 95% | b_office 65%
::Battlemod:: steht still

http://www.iop-b.de/

zum Seitenanfang zum Seitenende Profil || Suche
006
12.07.2010, 21:48
Bluthund



Fuer jedes Programm sind alle Grundlagen notwendig. Deshalb heissen sie auch Grundlagen -- weil sie etwas zugrunde liegen.
Ein Stack kann dynamisch wachsen (wie so ziemlich jede Datenstruktur wenn man die Implementierung dafuer auslegt). Er kann aber auch eine statisch festgelegte Maximalgroesse haben. Haengt halt davon ab was man damit machen moechte.

Wie heisst denn dein Brocken?

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-

zum Seitenanfang zum Seitenende Profil || Suche
007
12.07.2010, 21:49
Raziel



War mir bezüglich vector nicht wirklich sicher ;)

In meinem Topic übers Studium wurde mir das Buch "The C Programming Language" von Kernighan & Ritchie empfohlen (ich meine von dir, Bluthund), welches wirklich gut ist und interessante, anspruchsvolle Aufgaben bietet, die dir gut die Grundlagen vermitteln.

Zum Beispiel hier: http://www.amazon.de/Programming-Language-Prentice-Hall-Software/dp/0131103628/ref=sr_1_1?ie=UTF8&s=books-intl-de&qid=1278964458&sr=1-1

Gebraucht für 12 Euro auch erschwinglich.

--


Dieser Beitrag wurde am 12.07.2010 um 21:55 von Raziel bearbeitet.
zum Seitenanfang zum Seitenende Profil || Suche
008
12.07.2010, 22:10
Bluthund



Unter anderem auch von mir, ja. Aber C ist halt nicht C++ :)

--

The C language combines all the power of assembly language with all the ease-of-use of assembly language.
"humorig is n blödwort :>" by -CarniGGeLjumpR-

zum Seitenanfang zum Seitenende Profil || Suche
009
12.07.2010, 22:49
Raziel



Stimmt, hatte ich gerade nicht auf dem Schirm ;)

--

zum Seitenanfang zum Seitenende Profil || Suche
010
12.07.2010, 23:01
bennifilm



Hab sogar zwei

Einmal etwas einfacheres :
http://www.amazon.de/C-Programmieren-mit-einfachen-Beispielen/dp/3827244838/ref=sr_1_1?ie=UTF8&s=books&qid=1278968322&sr=8-1

und eins was ein bisschen professioneller wirkt :

http://www.amazon.de/Einstieg-Objektorientierung-Exceptions-Templates-Computing/dp/3898426491/ref=sr_1_2?ie=UTF8&s=books&qid=1278968368&sr=1-2

--

::Alien Swarm Sunstation 583::
::Left 4 Dead:: b_alley 95% | b_office 65%
::Battlemod:: steht still

http://www.iop-b.de/

zum Seitenanfang zum Seitenende Profil || Suche