01 // Typkonvertierungs-Operator
02 // Datei: tkoper01.cpp
04 #include <iostream.h>
05
06 class ratio
07 {
08 int zaehler, nenner;
09 public:
10 ratio (int z = 0, int n = 1)
11     {zaehler = z, nenner = n;}
12 operator double (); // Konvertierung zu double
13 };
14
15 ratio::operator double () // Konvert.methode
16 {
17 return double (zaehler) / double (nenner);
18 }
19 // Testrahmen
20 int main()
21 {
22 ratio A(1,2);
23 cout<<"\nErgebnis : "<<double(A)<<endl; // fu.
24 cout<<"Mit cast: " <<(double)A<<endl; // konv.
25 if (A)                  // implizit
26   cout << "Objekt nicht 0" << endl;
27 else
28   cout << "Objekt ist 0" << endl;
29
30 return 0;
31 }

Bild 16-6  Konvertierungs-Operator