Informatyka > Programy

[C++] Konstruktor konwertujący

Autor: CCCP Dodano: 27.07.2010, 16:17

Sprawdź podobne wypracowania

Witam!

Przedstawiam program, który obrazuje wykorzystanie konstruktora konwertującego na przykładzie klasy COMPLEX.
Program napisany w języku C++.

#include <iostream>

class COMPLEX
{
double R;
double i;
public:
COMPLEX () : R(0), i(0) {} ;
COMPLEX (double new_r, double new_i=0) : R(new_r), i(new_i) {};

friend COMPLEX Add (COMPLEX a, COMPLEX b);
friend void Show(COMPLEX x);
};
COMPLEX Add (COMPLEX a, COMPLEX b)
{
COMPLEX Aggregate(0,0);
Aggregate.R = a.R + b.R;
Aggregate.i = a.i + b.i;
return Aggregate;
}

void Show(COMPLEX x)
{
std::cout<<"\nR = " <<x.R;
std::cout<<"\ni = " <<x.i <<"\n";
for (int i = 0; i < 80; i++) std::cout<<"-";
}
int main()
{
COMPLEX CN_1(10, 0.1); //Wywołanie konstruktora COMPLEX::COMPLEX(double, double);
COMPLEX CN_2 (0.5); //Wywołanie konstruktora COMPLEX::XOMPLEX(double, double=0);

COMPLEX CN_3 = Add (CN_1, 120); //Wywoałnie konstruktora konwertującego.
//Na rzecz liczby 120 wywoływany jest konstruktor COMPLEX::COMPLEX(double, double=0);

Show(CN_1);
Show(CN_2);
Show(CN_3);
}




Patronujemy