C++中struct的成员函数的有关问题

C++中struct的成员函数的问题
C++中的程序,请问成员函数setName的访问限定是什么?
struct Man
{
    void setName(const std::string & strName);
    void setAge(unsigned int iAge);
std::string getName() const;
unsigned int getAge() const; 
private:
    unsigned int m_iAge;
    std::string m_strName;
};
A. public  B. private  C. protected  D. friend


这个题目,标准答案选的是A。

有一点我是能确定的, 在struct中,成员函数都是默认为public的。
请大家帮忙指点一下,如果setName访问权限是public,是不是指setName函数中不能访问private成员?

那这个struct中的private成员有什么用呢,好像没有任何东西可以访问它们了吧?
------解决方案--------------------
可以访问的。访问权限是针对外部来说的。所有成员函数和成员变量都在class作用域里面,没有访问权限的限制。