hak*_*a12 -3 c++ structure class
我有一个私人结构的课程.如何访问该结构的数据成员?
class ClassStruct
{
private:
struct Struct
{
std::string time;
int temp;
};
public:
ClassStruct();
};
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的:
struct Struct o;
ClassStruct object;
cout << "Enter time (hh:mm): ";
cin >> object.o.time;
Run Code Online (Sandbox Code Playgroud)
但它在"o"上显示错误.
您只能在声明的类实现中访问此结构.在您的示例中,您可以访问它的唯一位置是构造函数ClassStruct.
编辑试图解释人们问你的问题:
在ClassStruct.h中:
class ClassStruct
{
private:
struct Struct
{
std::string time;
int temp;
};
public:
ClassStruct();
void test(){
Struct good; // This will work.
good.temp = 5;
}
};
Run Code Online (Sandbox Code Playgroud)
在ClassStruct.cpp中
ClassStruct::ClassStruct(){
Struct alsoGood;
std::cout << "Also Good Here" << std::endl;
}
void nonClassFunction(){
ClassStruct::Struct bad; // compiler error
}
Run Code Online (Sandbox Code Playgroud)
在AnyOther.cpp中
void wontWork(){
ClassStruct::Struct alsoBad; // compiler error.
}
Run Code Online (Sandbox Code Playgroud)