【发布时间】:2014-10-13 13:30:24
【问题描述】:
我无法让我的代码正常工作。我对 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;
}
在此先感谢
【问题讨论】:
-
构造函数初始化列表只能在构造函数中使用。
-
你命名的“创建方法”应该是一个构造函数。这就是 ppl 发明 ctor 的目的。
标签: c++ class constructor initialization sfml