我无法让我的代码工作。我对C ++很陌生,但基本上我要做的就是在另一个类中创建一个类的对象。
我已经阅读了很多东西,试着让它发挥作用,但显然我已经完全错过了一些重要的步骤。
基本上调用MainWindow.load()
应该创建对象,MainWindow.loop()
应该返回它们。对于背景,在最终项目中; MainWindow.load()
会设置纹理(只需要执行一次),而MainWindow.loop()
会连续绘制纹理。
如果你能看一下我的示例代码,我将不胜感激:
#include <iostream>
class objects
{
private:
int n;
public:
void create (int);
int output ();
};
void objects::create(int inputn)
{
n = inputn;
}
int objects::output()
{
return n;
}
class mainwindow
{
private:
objects value1;
objects value2;
public:
void load();
void loop();
};
void mainwindow::load()
{
mainwindow() : value1.create(56),
value2.create(72){}
}
void mainwindow::loop()
{
std::cout << value1.output() << "\n";
std::cout << value2.output() << "\n";
}
int main()
{
mainwindow MainWindow;
MainWindow.load();
for(int i = 1; i <= 5; i++)
{
std::cout << "Loop " << i << ":\n";
MainWindow.loop();
std::cout << "\n";
}
return 0;
}
非常感谢提前
答案 0 :(得分:2)
你可以像这样简单地创建Object:
void mainwindow::load()
{
value1.create(56);
value2.create(72);
}
或者您可以在构造函数中执行它而不使用load函数:
mainwindow::mainwindow()
:value1(56),
value2(72)
{
}
在这种情况下,您需要编写对象的构造函数
objects::objects(int arg = 0)
:n(arg)
{
}