c++在分配对象私有(private)时

标签 c++ class

全部。我是 c++ 的新手,我想问一个关于分配对象的问题。

例如 我有 2 个对象来自同一个类,a1 和 a2。 如果类(class)中有私有(private)成员

为什么我们可以这样做作业 a1 = a2;

我的问题是,我以为只有成员函数才有权限 更改私有(private)成员数据的内容,但是通过步骤 我只是通过,私有(private)成员数据很容易改变。 这是为什么??

最佳答案

可以使用 operator= 成员函数执行赋值,根据定义,该函数可以访问私有(private)成员。

当你不定义一个时,会提供一个默认值:“默认版本执行成员复制,其中每个成员都由其自己的复制赋值运算符复制(也可能是程序员声明的或编译器生成的)。 “参见 this .

关于c++在分配对象私有(private)时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7938828/

相关文章:

c++ - 在 C++ 项目中使用基于 CUDA 的库代码

c++ - 何时以及为何在堆 C++ 上声明成员变量

c# - 如何在 EF 和 C# 中编写用于检索 IEnumerable 对象的类

c++ - 使用类的成员函数访问内部结构成员时出错

java - 如何在 Java.Swing 中重置扫雷游戏板

c++ - 如何迭代 std::variant 的类型?

c++ - 使用函数指针和引用推导模板参数

c++ - RAII 和 shared_ptr 之间的关系是什么?

c++ - 给定一个三角形和一个线段,找到可以创建相似三角形的第三个点

python 3.x, `type` 本身派生自 `object` ,而 `object` 派生自 `type`