Sunteți pe pagina 1din 1

#include <iostream>

using namespace std;


class SRC;

class DST
{
int y;
friend class SRC;
public:
DST(int n = 0) : y(n) { cout << "\nCons DST din int"; }
explicit DST(SRC);
};

class SRC
{
public:
int x;
SRC(int n=1) : x(n) { cout << "\nCons SRC din int"; }
operator DST()
{
cout << "\nCast to DST";
return DST(x);
}
};

DST:: DST(SRC src) : y(src.x) { cout << "\nCons DST din SRC"; }

void f(DST d)
{
cout << "\nApel de f";
}

int main()
{
SRC os; DST od;
od = os;
cout << "\n___________________________________";
f(DST(os)); // apel cons explicit
cout << "\n___________________________________";
f(os);
cin.get();
}

S-ar putea să vă placă și