#include <iostream>
using namespace std;
struct Test
{
Test(const Test&) = delete;
Test(int)
{
cout << __PRETTY_FUNCTION__ << endl;
}
Test& operator=(int)
{
cout << __PRETTY_FUNCTION__ << endl;
return *this;
}
};
int main()
{
Test t(10);
//Test t1 = 10; // Error copy -constructor used in this!
t = 20;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKc3RydWN0IFRlc3QKewpUZXN0KGNvbnN0IFRlc3QmKSA9IGRlbGV0ZTsKICBUZXN0KGludCkKICB7CiAgICBjb3V0IDw8IF9fUFJFVFRZX0ZVTkNUSU9OX18gPDwgZW5kbDsKICB9CiAgVGVzdCYgb3BlcmF0b3I9KGludCkKICB7CiAgICBjb3V0IDw8IF9fUFJFVFRZX0ZVTkNUSU9OX18gPDwgZW5kbDsKICAgIHJldHVybiAqdGhpczsKICB9Cn07CmludCBtYWluKCkKewoJVGVzdCB0KDEwKTsKCS8vVGVzdCB0MSA9IDEwOyAvLyBFcnJvciBjb3B5IC1jb25zdHJ1Y3RvciB1c2VkIGluIHRoaXMhCiAgdCA9IDIwOwogIHJldHVybiAwOwp9