Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

11

21.01.2009, 21:07

Ich hab mir jetzt spaßes halber doch mal per .size () die größe nach 5 Eintragungen ausgeben lassen.Und siehe da die Liste ist leer.
Aber nur bei Verwendung in der abgeleiteten Klasse. In der Basisklasse (da wo die Liste dekalriert ist) kann ich sie ohne Probleme verwenden.

Naja ich schau morgen mal.

the[V]oid

Alter Hase

Beiträge: 775

Wohnort: Aachen

  • Private Nachricht senden

12

21.01.2009, 21:12

Zitat von »"Errschaffer"«

Ich hab mir jetzt spaßes halber doch mal per .size () die größe nach 5 Eintragungen ausgeben lassen.Und siehe da die Liste ist leer.

Meintest du nicht eben noch, das sei völlig ausgeschlossen? :doubt:
Naja ansonsten, wie schon gesagt wurde, zeig mal ein paar Minimalquelltexte.
Irgendwie erscheint es mir aber schon zweifelhaft, dass ein Termin von einem Kunden abgeleitet wird.
<< an dieser Stelle ist eine Signatur verstorben >>

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

13

21.01.2009, 21:20

Ich poste morgen mal eine mini Version davon. Das mit dem Termin von Kunden ableiten da bin ich mir auch noch unsicher. ich überlege gerade wie man den Code am sinnvollsten aufbauen könnte.
Und ich brauche viele Sachen aus CKunde.Und das alles per Parameter zu übertragen würde ja völliges gewirr geben.

Und da CKunde einen Kunden darstellt und zu einem Kunden ein Termin gehören kann (wie zu einem Raumschiff ein Abfanjäger gehören kann) erschien mir das am sinnvollsten.

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

14

21.01.2009, 21:32

Termin von Kunde abzuleiten macht überhaupt kein Sinn. ;)
Das ist OOP-technischer Quatsch. Der Termin ist kein Kunde. Der Kunde hat Termine.

Ein Termin kann/sollte einen Zeiger auf den Kunden haben. Es gilt eine 1:n Beziehung. Das heisst, dass 1 Kunde mehrere Termine haben kann, aber ein Termin hat nur einen Kunden. (Mal von Gruppenterminen o.ä. abgesehen).
(Wenn du dir wegen dem Zugriff sorgen machst, gibt es immernoch friend, wenn es unbedingt sein muss..)

Hier noch eine kleine Geschichte dazu:
http://www.c-plusplus.de/forum/viewtopic-var-t-is-75672.html

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

15

21.01.2009, 21:39

Hehe.Ok werds nochmal überdenken.Werds mir das auch mal mit diesen Friend-Klassen anschauen. Und dann schau ich mal obs dann geht.

Beneroth

Alter Hase

Beiträge: 969

Wohnort: Schweiz

Beruf: Software Entwickler

  • Private Nachricht senden

16

21.01.2009, 21:49

versuch es ohne das keyword friend zu machen, meistens gehts ohne und wenn man es verwendet in einem Fall wo es eigentlich unnötig wäre wird schnell alles komplizierter (vorallem um später das bestehende prog zu erweitern).

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

17

22.01.2009, 15:12

Ok danke jetzt gehts.Hab jetzt einen Zeiger auf CKunde. :)

edit: Nein geht immer noch nicht (hab mich vorhin vertan).Ich poste nacher mal eine mini version.

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

18

22.01.2009, 15:38

So hier eine mini Version.Sowie es im groben im Original ausschaut.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
class CKunde
{
      public:
      list<CKunde*> lKundenDaten ;
      string Name;

      private:
     void Eintragerstellen ();
     {
         
    CKunde *Temp=NULL ; //Zeiger auf CKunde deklarieren


        
    Temp = new CKunde ; // Speicher reservieren

                 Temp->m_Eintragfuellen (); 
                 lKundenDaten.push_back (Temp);  //In die Liste schieben

     
      }


     void Eintragfuellen ();
     {

      cin>>Name;
      

      }


};


class CTermin
{
  
    public:
    void Install ();
    {

       CKunde Kunde; //ACHTUNG DAS IST IM ORIGINAL GLOBAL

       Kunde= new CKunde;
     

     }
    void Terminfuellen ();
    {

     list<CKunde*>::iterator i;

    for ( i=Kunde->lKundenDaten.begin ();i!=Kunde->lKundenDaten.end () ;i++)
    {

              
     

    }

};


Hoffe das wird jetzt etwas deutlicher.

K-Bal

Alter Hase

Beiträge: 703

Wohnort: Aachen

Beruf: Student (Elektrotechnik, Technische Informatik)

  • Private Nachricht senden

19

22.01.2009, 15:47

Irgendwie sieht dein Code sehr merkwürdig aus, verstehe zB nicht warum CKunde eine Liste von Kunden hat :? Ich glaube da musst du ein bisschen umstrukturieren.

Errschaffer

Alter Hase

  • »Errschaffer« ist der Autor dieses Themas

Beiträge: 865

Wohnort: Frankfurt

  • Private Nachricht senden

20

22.01.2009, 15:59

Wieso denn. Ich erstelle doch Instanzen vom Typ CKunde.Und schiebe diese in die Liste (die ja dann vom Typ CKunde sein muss).


Aber wieso löscht er mir die Liste wenn ich die wo anders aufrufe?

Werbeanzeige