在另一个 class 中调用一个 class 的构造函数
calling constructor of a class in another class
我在 qt 中有两个 classes 命名为 info 和 i2。 info 是 c++ class
,i2 是 Qt designer from class
。我想使用 i2 作为测试我的信息的环境 class。
我在 i2.my 的 header 中包含了 info.h 信息 class 有两个构造函数,如下所示:
info();
info(const void *ip, const char* pw, const void *hostName);
现在我想在 i2 class 中创建一个 object 信息并将这三个参数(ip 和 pw 以及主机名)传递给信息并在我的程序中使用它们。如下所示:
private:
Ui::i2 *ui;
info inf("172.30.6.91", "mypw", "heydari.f");
这不起作用。我收到这些错误:
/home/heydari.f/i1/i2.h:48: error: expected identifier before string constant
info inf("172.30.6.91", "mypw", "heydari.f");
^~~~~~~~~~~~~
和:
/home/heydari.f/i1/i2.h:48: error: expected ‘,’ or ‘...’ before string constant
我的信息classheader:
#ifndef INFO_H
#define INFO_H
#include <fstream>
#include <vector>
#include <libssh/libssh.h>
class info
{
private:
ssh_session my_ssh_session = ssh_new();
const void* _hostName;
const void* _ip;
const char* _password;
public:
info();
info(const void *ip, const char* pw, const void *hostName);
~info();
//some another functions
};
#endif // INFO_H#ifndef KERNEL_H
我的i2classheader:
#ifndef I2_H
#define I2_H
#include <QDialog>
#include "info.h"
namespace Ui {
class i2;
}
class i2 : public QDialog
{
Q_OBJECT
public:
explicit i2(QWidget *parent = 0);
~i2();
private slots:
//some push button functios
private:
Ui::i2 *ui;
info inf;
};
#endif // I2_H
使用 braced-init-list:
info inf{"172.30.6.91", "mypw", "heydari.f"};
我在 qt 中有两个 classes 命名为 info 和 i2。 info 是 c++ class
,i2 是 Qt designer from class
。我想使用 i2 作为测试我的信息的环境 class。
我在 i2.my 的 header 中包含了 info.h 信息 class 有两个构造函数,如下所示:
info();
info(const void *ip, const char* pw, const void *hostName);
现在我想在 i2 class 中创建一个 object 信息并将这三个参数(ip 和 pw 以及主机名)传递给信息并在我的程序中使用它们。如下所示:
private:
Ui::i2 *ui;
info inf("172.30.6.91", "mypw", "heydari.f");
这不起作用。我收到这些错误:
/home/heydari.f/i1/i2.h:48: error: expected identifier before string constant
info inf("172.30.6.91", "mypw", "heydari.f");
^~~~~~~~~~~~~
和:
/home/heydari.f/i1/i2.h:48: error: expected ‘,’ or ‘...’ before string constant
我的信息classheader:
#ifndef INFO_H
#define INFO_H
#include <fstream>
#include <vector>
#include <libssh/libssh.h>
class info
{
private:
ssh_session my_ssh_session = ssh_new();
const void* _hostName;
const void* _ip;
const char* _password;
public:
info();
info(const void *ip, const char* pw, const void *hostName);
~info();
//some another functions
};
#endif // INFO_H#ifndef KERNEL_H
我的i2classheader:
#ifndef I2_H
#define I2_H
#include <QDialog>
#include "info.h"
namespace Ui {
class i2;
}
class i2 : public QDialog
{
Q_OBJECT
public:
explicit i2(QWidget *parent = 0);
~i2();
private slots:
//some push button functios
private:
Ui::i2 *ui;
info inf;
};
#endif // I2_H
使用 braced-init-list:
info inf{"172.30.6.91", "mypw", "heydari.f"};