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作用域里面,没有访问权限的限制。
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作用域里面,没有访问权限的限制。