[英]Is there a way to init/call CTOR in the .cpp?
我在.h
有這些指針聲明對象:
ILFO *pLFOPianoRoll1, *pLFOPianoRoll2, *pLFOPianoRoll3;
我在.cpp
使用以下命令初始化它:
pLFOPianoRoll1 = new ILFO(this, 8, 423, kParamIDPianoRollLFO1, 0);
pLFOPianoRoll2 = new ILFO(this, 8, 542, kParamIDPianoRollLFO1, 1);
pLFOPianoRoll3 = new ILFO(this, 8, 661, kParamIDPianoRollLFO1, 2);
但是我想在這里避免使用指針(我了解到“如果您不需要它們,就不要使用它們”),而只需使用變量/類(由於稍后會手動管理內存)。
但是,如何在.h中ILFO mLFOPianoRoll1
對象的變量(例如ILFO mLFOPianoRoll1
),然后在.cpp
上調用CTOR呢?
您可以為此使用初始化列表。
#include <iostream>
#include <string>
using namespace std;
class A
{
public:
A(int a_) : a(a_) { }
void print()
{
std::cout << "A: " << a << std::endl;
}
int a;
};
class B
{
public:
B() : a(1), a2(3) {}
A a;
A a2;
};
int main() {
B bObj;
bObj.a.print();
bObj.a2.print();
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.