获取树中的所有节点

时间:2015-05-15 12:32:02

标签: c# c++

我对以下程序有一点问题

internal IEnumerable<T> GetItems<T>(string NodeName) where T : Root, new()
{
    var node = new T();
    return GetItems(NodeName, node).Cast<T>();
}

public IEnumerable<Root> GetItems(string NodeName, Root root)
{
    // do it
}

我想知道如何将其更改为C ++代码。这就是我试过的

template<class T>
list<T> GetItems(string NodeName)
{
    auto node = new T();
    return GetItems(NodeName, node);
}

list<Root> GetItems(string NodeName, Root root)
{
    // do it
}

现在我想把它搞得一团糟

typedef shared_ptr<Root> ROOT_PTR;
class SmallRoot:public Root{};
list<ROOT_PTR> GetItems(string NodeName, ROOT_PTR rootPtr)
{
    //do something and return a list of share pointers      
}

然后我被困在如何重新设计模板GetItems以提供SmallRoot

0 个答案:

没有答案