使用类成员功能访问私有结构
accessing private struct inside class using class member function
试图为班级内的私人结构编写一个设置器函数。尚未找到允许访问结构的声明方法。
该结构可能不会在班级之外移动。该功能必须是课程的成员。不得使用正向声明。
class Editor
{
public:
void setName ( string s );
private:
struct Object
{
string name;
}Instance;
}Ed;
void Editor::setName ( string s )
{
name = s; // no access
}
=================================
class Editor
{
public:
friend void setName ( Editor &m , string s );
private:
struct Object
{
int name;
}Instance;
}Ed;
void setName ( Editor &m , string s )
{
name = s; // no access
}
=================================
class Editor
{
public:
friend void setName ( Object &m , string s ); //invalid declaration ( Object is undefined )
private:
struct Object
{
string name;
}Instance;
}Ed;
void Editor::setName ( string s )
{
name = s; // no access
}
当然你不能那样做。Editor
中没有名为name
的对象。但是,有一个名为Instance
的对象,包含一个名为name
的对象,您可以使用Instance.name = s;
。
at:
class Editor
{
public:
void setName ( string s );
private:
struct Object
{
string name;
}Instance;
}Ed;
void Editor::setName ( string s )
{
Instance.name = s;
}
相关文章:
- 通过方法访问结构
- 使用不带参数的函数访问结构元素
- 访问存储在向量C++中的结构的多态成员
- 访问类lintalizer列表中的结构元素
- 仅使用结构名称访问结构成员
- 如何从其他结构访问受保护的结构变量
- 如何从类中定义的结构访问私有成员?c++
- 枚举范围无法通过 C++ 中的类中的结构访问
- 通过更高级别的结构访问子变量
- 从匿名结构访问枚举条目
- 如何定义别名以通过结构访问枚举类成员
- C 用于向量中的结构访问索引或使用参考值
- 奇怪的结构访问错误
- 将数组作为结构访问与未定义的行为
- 使用c++以及x86和x64体系结构访问处理器中断
- 使用 ostream 从另一个类的结构访问数据
- 从结构访问数组会使程序崩溃
- 联合中的C++结构访问联合成员
- SWIG如何使用Lua表从Lua中的c结构访问字节数组
- c++结构访问冲突