در c++11 باید copy constructor و operator= رو delete کنید به این شکل :
#include <iostream>
class A
{
public:
A(){}
A(const A& other) = delete;//copy constructor
void operator=(const A& other) = delete;//operator =
};
int main() {
A a;
A b;
A c = b;//error copy constructor is deleted
a = b;//error operator= is deleted
}
در c++98 هم کافیه که این 2 تا Constructor رو داخل قسمت private کلاس بزارید