在C++中,依賴注入可以通過實例化對象時將依賴對象傳遞給構造函數來實現。以下是一個簡單的例子,展示了如何使用C++實例實現依賴注入:
#include <iostream>
class Dependency {
public:
void doSomething() {
std::cout << "Dependency is doing something" << std::endl;
}
};
class MyClass {
private:
Dependency* dependency;
public:
MyClass(Dependency* dep) : dependency(dep) {}
void performAction() {
dependency->doSomething();
}
};
int main() {
Dependency dep;
MyClass myClass(&dep);
myClass.performAction();
return 0;
}
在上面的例子中,MyClass
接受一個Dependency
對象的指針作為構造函數的參數,并將其存儲在類的私有成員變量中。在performAction
方法中,我們調用依賴對象的方法來執行某些操作。
在main
函數中,我們首先實例化了Dependency
對象dep
,然后將其傳遞給MyClass
對象myClass
的構造函數,以實現依賴注入。最后,我們調用myClass
的performAction
方法來執行操作。
這樣,我們就成功地使用C++實例實現了依賴注入。通過將依賴對象傳遞給類的構造函數,我們可以輕松地注入依賴,并實現類之間的解耦。