A.B类的所有成员函数都是A类的友元函数
B.B类指定的成员函数才是A类的友元
C.A类的所有成员函数可以访问B类的成员
D.B类的私有成员函数不能可以访问A类的私有成员
A.某个类的静态数据成员由该类的所有对象所共享
B.类的公有静态数据成员既可以用类的对象访问,也可以直接用作用域运算符“::”通过类名来访问
C.静态数据成员既可以是私有成员,也可以是公有成员
D.类中一旦定义了静态数据成员,就必须定义静态成员函数,以便对静态数据成员进行操作
二叉树的遍历算法可写为通用形式。例如,通用的中序遍历为:
void Inorder(BinTree T,void(*Visit)(Datatype x))
{ if(T)
{Inorder(T->lchild,Visit); /*遍历左子树*/
Visit(T->data); /*通过函数指针调用它所指的函数来访问结点*/
Inorder(T->rchild,Visit); /*遍历右子树*/
}
}
其中Visit是一个函数指针,它指向形如void f(DdataType x)的函数。因此我们可以将访问结点的操作写在雨数f中,通过调用语句Inorder(root,f)将f的地址传递给Visit,来执行遍历操作。请写一个打印结点的数据的函数,通过调用上述算法来完成中序遍历。