c++ - 将对象及其数据成员复制到另一个对象

标签 c++

假设我们有一个名为 Animal 的类型结构,我们有两个名为 Cat 和 Dog 的对象。 我正在尝试编写一个代码来声明一个名为 Cat 的对象,并将其数据成员初始化为与另一个名为 Dog 的对象相同的值。两个对象都是 struct Animal 类型。

我在想是不是 Animal Cat = Dog。或者 动物猫 = &Dog。 我也想知道有什么区别。

最佳答案

您的第一次尝试是正确的。可以在这里看到一个变体:

Animal cat("silvester");
Animal dog("fido");
cat = dog;

在您的第二个示例中,您实际上获取了“Dog”的地址并将其分配给非指针类型(Animal)。第二个版本无法编译,因为类型不匹配。

差别很大。我们谈论的是对象,以及指向对象的指针。指针的值是内存中的地址,而对象的值是对象的数据本身。

关于c++ - 将对象及其数据成员复制到另一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26209090/

相关文章:

java - 如何像UAC窗口一样控制键盘和鼠标

c++ - 计时器与事件 : which one is preferable for Asynchronous processing?

c++ - 静态函数中不可访问的非静态成员

c++ - 可以使用 'virtual inline' 定义 C++ 函数吗?

c++运算符重载如何在opencv中实现像Mat_<type>的ctor这样的模式

c++ - C++临时变量生存期?

C++ WMI 获取 AccountName 知道用户 SID

c++ - 硬币或线性规划 : ClpPlusMinusOneMatrix representation

c++ - 不能在 C++20 中将 std::cin 与 char* 或 char[] 一起使用

c++ - 单击主窗体按钮时线程执行 "stops"