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

1

22.02.2006, 20:22

problem mit meinem freund

da ich leider keine freunde habe hab ich mir in der classe VEKTOR einfach mal einen deklariert :D

und zwar soll damit der cout operator überladen werden

C-/C++-Quelltext

1
friend ostream& operator <<(ostream&, const VECTOR&);


komischerweise kann ich in der main nicht darauf zugreifen:

C-/C++-Quelltext

1
2
3
4
5
ostream& operator << (ostream& out, const VECTOR &vec)
{
    out << "(" << vec.x << "," << vec.y << ")";
    return out;
}


er sacht mir ich hab keinen zugriff auf private member. kann mich mein freund doch nicht leiden?

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

22.02.2006, 20:26

Tja welchen << operator meinst du denn? den von der Klasse xyz oder abc ;)
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

3

23.02.2006, 16:47

ich versteh dir frage net ganz...:crying:

die deklaration steht in der classe VEKTOR.

ich wollte einfach den cout operator << überladen sodass er mit einen vektor so ausgibt: (x-Koordinate, y-Koordinate) :crying:

Anonymous

unregistriert

4

23.02.2006, 17:10

Hi!

Folgender Code funktioniert bei mir (GNU C++ Compiler) einwandfrei:

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
#include <iostream>
#include <ostream>

using namespace std;

class VECTOR
{
  private:
   float x,y;
   
  public:
    VECTOR(float _x, float _y);
  
  friend ostream& operator <<(ostream&, const VECTOR&);
};

VECTOR::VECTOR(float _x, float _y) 
{
  x = _x;
  y = _y;
}

ostream& operator << (ostream& out, const VECTOR &vec)
{
    out << "(" << vec.x << "," << vec.y << ")";
    return out;
}

int main(int argc, char * argv[])
{
  VECTOR v(1.0, 2.0);
  
  cout << v << endl;

  return 0;
}



Grüße
Stefan

5

24.02.2006, 19:28

sehr interessant...bei mir nämlich nicht O_o

kann es sein dass bei mir das schlüsselwort friend nicht so ganz den zweck erfüllt den es soll?

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

6

24.02.2006, 19:36

Scheint so.. welchen Compiler verwendest du denn?

7

25.02.2006, 11:11

visual c++ 6

Anonymous

unregistriert

8

25.02.2006, 14:14

Sk!p
Da würde ich auch nicht funktionieren, use express!

9

25.02.2006, 19:11

was willst du mit damit genau sagen lieber nix da? :D

DarkFitzi

Alter Hase

Beiträge: 608

Wohnort: Eisenberg, Thüringen

Beruf: Schüler, 10te Klasse

  • Private Nachricht senden

10

25.02.2006, 19:24

Ich würde die Welt gern verbessern, doch Gott gibt mir den Sourcecode nicht! :-(

Werbeanzeige