Fehler Header



  • Ja ich weiss .
    Und daher war ja auch meine frage ob ich im Header das maxTips zum array machen soll?
    Aber es kam keine Antwort .
    Oder soll ich einfach neuen Speicher anlegen mit new?

    m_tips ist allerdings ein Pointer



  • Furz33 schrieb:

    Und daher war ja auch meine frage ob ich im Header das maxTips zum array machen soll?

    Die Frage habe ich beim überfliegen des Threads nicht gesehen.

    Warum sollte maxTips ein Array werden? In dem UML Diagramm sthet doch klar drin, was für ein Datentyp maxTips sein soll...

    Um mal den Zaunpfahl auszupacken: Wofür meinst du ist m_tips gedacht?



  • m_tips sind die Anzahl der Tipps ?

    Ich habe das Gefühl das ich nach an der Lösung bin ,aber irgendwie die Denkweise doch falsch ist 😃

    Das führt auch nicht zum Ziel leider

    m_tips[m_maxTips]= maxTips;
    


  • Furz33 schrieb:

    m_tips sind die Anzahl der Tipps ?

    Und wofür ist dann m_countTips?

    Und hier mal was über dynamische Arrays: http://www.cplusplus.com/doc/tutorial/dynamic/



  • das müsste dann zählen der Tipps sein



  • Furz33 schrieb:

    das müsste dann zählen der Tipps sein

    Und wo soll der Unterschied zwischen dem mitzählen der Tips und der Anzahl der Tips sein?

    Ich habe meinen obigen Post editiert und ein Link hinzugefügt, der dir vlt weiterhelfen wird.



  • Ich glaube ich hab es jetzt Schlangenmensch:

    /*
     * CLottoTicket.cpp
     *
     *  Created on: 19.10.2017
     *      Author: Medion
     */
    #include<iostream>
    using namespace std;
    #include<string>
    #include"CLottoTicket.h"
    #include "CTip.h"
    CLottoTicket::CLottoTicket(string name, unsigned short maxTips ){
          m_name = name;
          if(m_maxTips >=6){
        	  m_maxTips = maxTips;
    
        	  m_tips = new CTip [maxTips];
    
          }
          else {
        	  m_maxTips = 6;
          }
    }
    
    string CLottoTicket::getName(){
    
    	return m_name;
    }
    

    Zumindest keine Fehler mehr 😃



  • Kein Compiler Fehler heißt leider nicht, korrekte Funktionsweise.

    1. du vergleichst auf m_maxTips (also auf die Member Variable), dass ist nicht was du möchtest.

    2. Im else Zweig reservierst du keinen Speicher.



  • Wieso soll ich im else Zweig nicht die member Variable nehmen?

    [code="cpp"]/*
    * CLottoTicket.cpp
    *
    * Created on: 19.10.2017
    * Author: Medion
    */
    #include<iostream>
    using namespace std;
    #include<string>
    #include"CLottoTicket.h"
    #include "CTip.h"
    CLottoTicket::CLottoTicket(string name, unsigned short maxTips ){
    m_name = name;
    if(m_maxTips >=6){
    m_maxTips = maxTips;

    m_tips = new CTip [maxTips];

    }
    else {
    m_tips = new CTip [maxTips];
    maxTips = 6;
    }
    }

    string CLottoTicket::getName(){
    return m_name;}



  • So wird das nichts mit dem Programmieren lernen. C++ ist zu komplex, um per Trial&Error weiterzukommen.

    Besorge dir gute Bücher und lese diese intensiv, s. z.B. Aus dem Inhalt: Überblick über die FAQ ("Anfänge in C++").


Anmelden zum Antworten