我目前正在尝试创建一个类,该类具有一个成员对象,该对象具有Arduino项目的非默认构造函数。该对象是一个指针,以便我可以在构造MyClass
时构造(MyObjClass *my_obj;)
// MyObjClass:
class MyObjClass(){
const int param;
public:
MyObjClass(const int param): param(param){ ... }
};
// MyClass:
class MyClass(){
MyObjClass *my_obj;
public:
MyClass::MyClass(const int param): my_obj(param){ ... }
};
它构建得很好,但my_obj
中的值参数是垃圾(随机值(。它是否已经在构造函数调用之前初始化了对象?我的解决方法是不使用const
值,但必须有更好的方法(正确的方法(。
你拿着指向MyObjClass
的指针,并试图用一些int
来初始化他, 正确的方式将是my_obj(new MyObjClass(param))
.
此外,我建议使用智能指针来避免内存泄漏。