gpt4 book ai didi

C++构造函数混淆

转载 作者:行者123 更新时间:2023-11-30 00:57:17 27 4
gpt4 key购买 nike

MyObject obj = new MyObject(para1);

在 Java 中,我总是可以在切换到 C++ 时执行此操作,它会给我一个错误:请求从“MyObject*”转换为非标量类型“MyObject”。

似乎修复它的方法是 MyObject* obj = new MyObject(para1);

如果我想要对象本身而不是指向对象的指针怎么办?

MyObject obj(para1);是唯一适合我的方式吗?

由于我正在从 Java 切换到 C++,我也想知道:

MyObject* obj1 = new MyObject(para1);

如果我打印出 obj1 的值,它将是一个地址。

MyObject obj2(para1);

obj2 的打印输出值是多少?

最佳答案

Would MyObject obj(para1);be the only way that works for me?

是的,这是正常的方式。

What would be the printed-out value for obj2?

如果您没有重载正确的运算符,您将遇到编译器错误。 使用具有以下签名的函数定义对象的打印方式:

std::ostream & operator<<(std::ostream & os, const MyObject & obj);

关于C++构造函数混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8448919/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com