Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

my proggie need n friend !!! *fg*

Empfohlene Antworten

Hi Leutz !!!

Hab vor ner Woche angefangen mit dem Buch "Practical C++ programming" ( O' Reilly Verlag ) C++ zu lernen. Bin dabei auf friends gestoßen. Nur leider weiß ich net wie mann diese "Freunde" verwendet. Hatt da jmd von euch Plan? Hier mal mein Proggie:

#include <iostream.h>

class menue

{

private:

int return_value;

public:

int execute_menue (void)

{

cout << " ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±" << '\n';

cout << " ± ±" << '\n';

cout << " ± Well if you think youself smart enter an int ±" << '\n';

cout << " ± ±" << '\n';

cout << " ±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±" << '\n';

cout << "\nI_AM_A_PROMPT> ";

cin >> return_value;

return( return_value );

}

friend int i_am_a_friend_of_menue(int return_value);

};

/*******************************************\

* *

* class menue --- callin execute_menue *

* -> gettin the int return_value *

* *

* printing private var withi_am_a_friend... *

* *

\*******************************************/

// **** do I need this prototype ? *****

int i_am_a_friend_of_menue(int a);

void main()

{

// creatin an instance of class

menue member;

// callin return_value with instance

cout << i_am_a_friend_of_menue( member.execute_menue() );

// printing return_value with i_am_a_friend_of_menue

cout << "\nNow return_value will printed with a_friend_of_menue\n";

// how the fuck can i call the friend ???

cout << i_am_a_friend_of_menue( ??? );

}

int i_am_a_friend_of_menue(int return_value)

{

return return_value;

}

Hat jmd. vielleicht Bsp. Prog. zu friends ???

Wäre nett, wenn er mir dies mailen könnte.

THX PhOeniX

Hier mal ein Bsp. Programm, daß ich gefunden habe. Kappier ja eigentlich alles, bis auf --- demo& ---

Was bedeutet bitte der Adress-Operator nach ner Variable?

/* Friend.cpp Friends */

#include <iostream>

using namespace std;

class demo

{

private:

int wert;

friend int func(demo&); // Friend-Deklaration

};

int func(demo& objekt)

{

objekt.wert = 111;

return objekt.wert;

}

int main()

{

class demo d;

cout << func(d);

return 0;

}

Das ist in dem Fall kein Adressoperator sondern ein Referenz operator.

Der Funktion wird als Parameter eine Reference auf Objekt vom Typ demo übergeben.

Es wird also nicht wie beim normalen call by Value der Wert des Objektes( also ne Kopie des Objekts) sondern das Objekt selber übergeben.

Zwei Gründe hierfür:

Erstens die Aufgerufende Funkktion kann das Objekt des Aufrufers ändern ( wenn erwünscht ).

Zweitens wenn du mit großen Objekten ( viele Elemente in einer Klasse ) arbeitest kann es sein daß du eine große Menge von Daten auf den Stack kopieren mußt um ein Objekt als Wert zu übergeben.

Zudem werden bei Kopieren die Elemente Memberweise kopiert

( das heist es wird nicht einfach der Speicherbereich kopiert ).

Dadurch kann die ganze Sache auch sehr zeitintensív werden,

denn es werden nicht nur die Kopierfunktionen des eigentlichen Objekts aufgerufen sondern auch von seinen Membern.

Also

Demo * pD = &d ; // in dem Fall ist & Adressoperator

Demo &rD = d; // In dem Fall dient & als Referenzoperator

Nich verwechseln.

Hoagi

Danke für die präzise Erklärung.

Denke ich habs verstanden :D

--- Ich muß halt noch a bissl üben ---

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.