bitte helft mir habe schon viele gefragt und keiner wusst warum...



  • ... wieso kann ich den keine private variable ausgeben!!! Hat das was mit dem copyconstructor zu tun!!

    will die private variable int sendeLeistung über void Handy::mehrSendeleistung() ausgeben, eigentlich will ich die sendeleistung da erhöhen aber er lässt mich nicht damit arbeiten und sagt mir immer: 'sendeLeistun': nicht deklarierter Bezeichner!!

    hier mein header und meine cpp und meine main!

    hier die cpp:

    #include "Handy.h"
    #include <iostream>
    
    using namespace std;
    
    Handy::Handy(int eineSendeleistung, int eineAkkukapazitaet, char* einName) : sendeLeistung(eineSendeleistung), akkuKapazitaet(eineAkkukapazitaet), name(einName)
    {
    	//sendeLeistung = eineSendeleistung;
    	//akkuKapazitaet = eineAkkukapazitaet;
    	//name = einName;
    }
    
    Handy::Handy()
    {
    
    }
    
    Handy::~Handy(void)
    {
    	cout << "Sendeleistung: " << sendeLeistung << endl
    		<< "Akkukapazitaet: " << akkuKapazitaet << endl
    		<< "Name des Handy's: " << name << endl << endl;
    }
    
    void mehrSendeleistung()
    {
    	//int sdl;
    
    	//sdl = sendeLeistung;
    
    	cout << "Sendeleistung neu: " << sendeLeistung << endl;
    //	sendeLeistung=sendeLeistung < 2000 ? sendeLeistung +=100 : sendeLeistung;
    
    }
    void wenigerSendeleistung()
    {
    }
    
    void beginnGespraech()
    {
    }
    
    void beendeGespraech()
    {
    }
    
    void Handy::wait(double seconds)
    {
    }
    

    hier die header:

    #pragma once
    
    class Handy
    {
    private:
    	char* name;
    	int sendeLeistung;
    	float akkuLadung;
    	int akkuKapazitaet;
    	float akkuSpannung;
    
    public:
    	Handy(int eineSendeleistung, int eineAkkukapazitaet, char* einName);
    	Handy();
    	~Handy(void);
    	void mehrSendeleistung();
    	void wenigerSendeleistung();
    	void beginnGespraech();
    	void beendeGespraech();
    	void wait(double seconds);
    
    };
    

    und hier meine kleine main:

    #include <iostream>
    #include "Ladestation.h"
    #include "Handy.h"
    #include <string>
    
    using namespace std;
    
    int main()
    {
    	Handy mobil(200,100,"Nokia e65");
    	Ladestation loadstation("Nas",100);
    
    	mobil.mehrSendeleistung();
    
    	//mobil.mehrSendeleistung();
    
    	return 0;
    }
    


  • anstatt void mehrSendeleistung() void Handy::mehrSendeleistung() schreiben. Dann weiss der Kompiler, dass die Fkt. zur Klasse Handy gehört.



  • das haben wir total übersehen!!

    oh man glaubt gar nicht wie nervenzerreißend solche kleine fehler sein können!! ´man sieht und sieht den einfach nicht!!!

    danke jetzt geht's



  • Scopeoperator? *LOL*

    Sorry, OT.



  • Dieser Thread wurde von Moderator/in estartu aus dem Forum MFC (Visual C++) in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten