gpt4 book ai didi

c++ - 如何在一个类中声明另一个类的实例

转载 作者:行者123 更新时间:2023-11-30 03:16:44 24 4
gpt4 key购买 nike

我是初学者,正在用 C++ 为 arduino 编写类(class)。我需要帮助才能在类里面使用一门课。代码如下。

我的类.h:


class MyClass {

public:
boolean initialize();
private:
std::unique_ptr<DHT> dht; // works
std::unique_ptr<LiquidCrystal_I2C> lcd(0x3F, 16, 2); // error: expected identifier before numeric constant

}

我的类.cpp:

#include "WifiConfig.h"
WifiConfig::WifiConfig() {}

boolean MyClass::initialize(){
lcd->begin(); // invalid use of member function (did you forget the '()' ?)
}

如何在构造函数中声明需要参数的另一个类的实例。

最佳答案

在对类成员变量进行内联初始化时,您需要使用花括号 {}:

std::unique_ptr<LiquidCrystal_I2C> lcd{new LiquidCrystal_I2C(0x3F, 16, 2)};

或使用 = 的“赋值”语法:

std::unique_ptr<LiquidCrystal_I2C> lcd = new LiquidCrystal_I2C(0x3F, 16, 2);

或者在构造函数中进行初始化,作为构造函数初始化列表的一部分。

MyClass::MyClass()
: lcd{new LiquidCrystal_I2C(0x3F, 16, 2)}
{
}

关于c++ - 如何在一个类中声明另一个类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56060270/

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