gpt4 book ai didi

c++ - 对象类 C++

转载 作者:太空宇宙 更新时间:2023-11-04 12:15:33 25 4
gpt4 key购买 nike

我是 C++ 的初学者,但知道面向对象编程..

我有一个类,其中包含一些不同类的对象。

class machine{
public:
int func();
private:
Plug p;
std::vector<Rot> r;
Ref ref;
};

这是正确的做法吗?我不太确定的原因是如果我做类似 cout << this->r.size() 的事情在func它不输出任何东西(我有正确的包含和命名空间)。编译器编译它但程序说 run failed .没有进一步的消息。我正在使用最新的 Cygwin 编译器 g++ 编译器。

编辑:我只是想确保这是定义类成员对象的正确方法。所以Plug p; : 那是对的吗?因为如果我在 Plug 中调用方法来自内部的类 machine , 它不像我在 main() 中调用 Plug 方法时那样工作.此外,当我对 r 执行某些操作时,程序会失败退出。 (vector)...我是否必须以某种方式调用它们的构造函数?如果是这样,我该怎么做?

感谢您的帮助。

最佳答案

您需要阅读真正基础的 C++ 主题,例如构造函数。当你实例化一个机器对象时,构造函数将被调用。在您的情况下,由编译器创建的默认构造函数。这个不可见的默认构造函数也会调用 p、r 和 ref 的默认构造函数。

至于你的输出,试试 cout << r.size() << endl;刷新缓冲区。请注意,您还必须在 main() 中调用 x.func(),其中 x 是 machine 的一个实例。

你的主要长什么样?

另外请注意,与许多其他语言相比,C++ 更需要您很好地理解基础知识——这意味着需要大量阅读和尝试示例来测试您的理解力。这种语言中有很多陷阱和陷阱 - 我不建议猜测或假设其他 OO 语言中的细节如何可能适用于 C++。

关于c++ - 对象类 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7850851/

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