#include <iostream>
using namespace std;
class A
{
public:
void operator=(A const&) = delete;
};
class B : public A
{
};
class C : public B
{
public:
//void operator=(C const& other) { printf("C");}
};
class D : public C
{
public:
#ifdef __cplusplus
using A::operator=;
using B::operator=;
using C::operator=;
#endif
void operator=(A const& other) { printf("D");}
};
void OnStart()
{
C c;
D d;
d = c;
}
int main()
{
OnStart();
return 0;
}