AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein C++: Funktion außerhalb der Klasse aufrufen mit gl. Namen
Thema durchsuchen
Ansicht
Themen-Optionen

C++: Funktion außerhalb der Klasse aufrufen mit gl. Namen

Ein Thema von Tubos · begonnen am 29. Jul 2004 · letzter Beitrag vom 30. Jul 2004
Antwort Antwort
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#1

C++: Funktion außerhalb der Klasse aufrufen mit gl. Namen

  Alt 29. Jul 2004, 18:52
Hallo;

ich bin gerade dabei für meine Programme ein paar Funktionen der WinSock-API für Streams (winsock2.h) in eine Klasse zu kapseln.
Dabei habe ich das Problem dass sowohl bei der WinSock-API als auch in meiner Klasse eine Funktion namens connect existiert.
In der Memberfunktion connect meiner Klasse rufe ich das connect der WinSock-API auf.
Doch der Compiler versteht unter connect an dieser stelle nur das connect meiner eigenen Klasse.
Wie kann ich explizit angeben, dass ein anderes connect gemeint ist?
Lukas
  Mit Zitat antworten Zitat
NicoDE
(Gast)

n/a Beiträge
 
#2

Re: C++: Funktion außerhalb der Klasse aufrufen mit gl. Name

  Alt 29. Jul 2004, 19:31
Da sich die API-Funktionen meist im globalen Scope befinden, wird meist folgende Variante verwendet...
Kurzfassung (C++):
Code:
::foo();
Langfassung (C/C++):
Code:
#ifndef USE_GLOBAL_NAMESPACE
#ifdef _cplusplus
#define USE_GLOBAL_NAMESPACE ::
#else
#define USE_GLOBAL_NAMESPACE
#endif
#endif

(* ... *)

USE_GLOBAL_NAMESPACE(foo)();
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: C++: Funktion außerhalb der Klasse aufrufen mit gl. Name

  Alt 29. Jul 2004, 20:05
also unter delphi reicht es einfach den unit namen vorran zu fügen.
unitname.funktionsname ob jedoch unter C++ geht weiß ich nicht
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#4

Re: C++: Funktion außerhalb der Klasse aufrufen mit gl. Name

  Alt 30. Jul 2004, 17:45
Das bezweifle ich, da es in C++ keine Units gibt
Es gibt nur Include-Dateien (oder Header), die werden vor dem Kompilieren in den Code des Hauptprogramms "eingefügt" - allerdings werden sie nicht ständig neu kompiliert, sondern nur dann, wenn sich etwas geändert hat. (das ist doch richtig so, oder? )

Aber die C++-Lösung funktioniert.
Danke!

Die C-Variante brauche ich nicht weil mein Header nur mit C++ funktioniert.
Lukas
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz