C++ 类的复制赋值运算符 #包括 使用名称空间std; 甲级 { 常数INTA; int b,c; 公众: a类(整数x,整数y):a(10) { b=x; c=y; } ClassA():a(10) { } 作废打印() { cout

C++ 类的复制赋值运算符 #包括 使用名称空间std; 甲级 { 常数INTA; int b,c; 公众: a类(整数x,整数y):a(10) { b=x; c=y; } ClassA():a(10) { } 作废打印() { cout,c++,copy-assignment,C++,Copy Assignment,案例2是这样的: #include <iostream> using namespace std; class ClassA { const int a; int b, c; public: ClassA(int x, int y):a(10) { b = x; c = y; } ClassA():a(10) { } void print() { cout <

案例2是这样的:

#include <iostream>
using namespace std;

class ClassA
{
  const int a;
  int b, c;
      public:
    ClassA(int x, int y):a(10)
    {
       b = x;
       c = y;
    }
    ClassA():a(10)
    {
    }
    void print()
    {
    cout << a << endl;
    }
};

int main()
{
  ClassA objA(10, 20);
  ClassA objB;
  objB = objA;
  objB.print();
  return 0;
}
案例3类似于:

class non_assignable { 
   // note: private
   non_assignable &operator=(non_assignable const &source);
};

class whatever { 
    non_assignable n;
};

在任何一种情况下,都不会自动为
任何内容生成复制分配操作符,因为它包含一个
不可分配的
成员/子对象,该成员/子对象具有一个不可访问的(私有)复制分配操作符。

这几乎是一个副本(参见案例3中aschepler的答案)。
 class whatever : public non_assignable {};