1
在C#中,我使用Func來替換工廠。例如:如何在C++中模擬Func <T1,T2,TResult>?
class SqlDataFetcher
{
public Func<IConnection> CreateConnectionFunc;
public void DoRead()
{
IConnection conn = CreateConnectionFunc(); // call the Func to retrieve a connection
}
}
class Program
{
public void CreateConnection()
{
return new SqlConnection();
}
public void Main()
{
SqlDataFetcher f = new SqlDataFetcher();
f.CreateConnectionFunc = this.CreateConnection;
...
}
}
如何可以模擬在C++上面的代碼?
+1,但'boost :: function'(注意指針)。 –
avakar
2010-05-21 09:26:51
好點。而你可能會想要返回一個智能指針來明確所有權。 – 2010-05-21 09:29:35
如此之快的回覆。謝謝! – Zach 2010-05-21 09:32:44