#include <iostream>
using namespace std;
class t3
{
public:
t3()
{
cout << "t3()" << endl;
}
t3(t3 &t22)
{
cout << "t3(t3 &t22)" << endl;
}
};
class t2
{
int k;
t3 t33;
public:
t2()
{
cout << "t2()" << endl;
}
/*t2(t2 &t22)
{
cout << "t2(t2 &t22)" << endl;
}*/
};
class t1
{
int k;
t2 t56;
public:
t1(int i, int k = 0)
{
cout << "t1(int i, int k = 0)" << endl;
}
};
void test(t1 t11)
{
}
int main()
{
t1 te(1);
test(te);
using namespace std;
class t3
{
public:
t3()
{
cout << "t3()" << endl;
}
t3(t3 &t22)
{
cout << "t3(t3 &t22)" << endl;
}
};
class t2
{
int k;
t3 t33;
public:
t2()
{
cout << "t2()" << endl;
}
/*t2(t2 &t22)
{
cout << "t2(t2 &t22)" << endl;
}*/
};
class t1
{
int k;
t2 t56;
public:
t1(int i, int k = 0)
{
cout << "t1(int i, int k = 0)" << endl;
}
};
void test(t1 t11)
{
}
int main()
{
t1 te(1);
test(te);
}
copy construct can up spread;
copy construct can hiding default construct function