27. maj 2002 - 15:19
Der er
5 kommentarer og 1 løsning
funktionsnavne og lokale variabler
I java har man mulighed for at have matoder og lokale variabler med samme navn: public int depth() { return depth(root, 0); } private int depth(TreeNode node, int depth) { if (node!=null) { if (node.getBalance()!=TreeNode.BALANCE_RIGHTHIGH) { depth++; return depth(node.getLeftChild(), depth); } else { depth++; return depth(node.getRightChild(), depth); } } else return depth; } Dette er ikke muligt i cpp eller hvad?
Annonceindlæg fra DE-CIX
Men du kan overloade funktioner, så du har flere funktioner der hedder det samme. I den kode du har postet, er der to funktioner int depth(); og int depth(TreeNode node, int depth); Dette kan godt lade sig gøre i CPP.
class CTree { public: int depth() {return depth(root, 0);} private: int depth(TreeNode node, int depth); }; int CTree::depth(TreeNode node, int depth) { // Implementering af depth.... }