, . †
++ - , . operator=(), " X, X&, const X&, volatile X& const volatile X&". †† , void operator=( const NonCopyable& ); - (, ).
, . NonCopyable , , private.
class Foo : NonCopyable
{
};
int main()
{
Foo a;
Foo b;
a = b;
}
, , . , , , .
† , , , - . , , , , X& , .
†† ++: 12.8 [class.copy]
9 X::operator= - - - X X, X&, const X&, volatile X& const
volatile X&.