我有一个类和一个命名空间,我需要从另一个文件访问该类的数据。 例如:
namespace A {
struct SMS{
string id;
Messages msg; //(an array of strings)
};
}
class Users{
public:
//ALL THE FUNCTIONS HERE TO MANAGE THE USER
private:
struct User{
string id_user;
SMS sms;
};
};
所以现在我想访问sms
及其中的数组,但我无法找到方法。
它应该是这样的吗?
User ada_lovelace;
return ada_lovelace.sms.msg[1];
或:
return ada_lovelace.A::sms.msg[1];?
答案 0 :(得分:0)
答案取决于您要定义和使用ada_lovelace
的位置。如果您要在类Users
的某个方法中声明它或者作为该类的成员,则应将User定义为:
struct User{
string id_user;
A::SMS sms;
};
你应该可以使用
return ada_lovelace.sms.msg[1];
但是,如果您要使用ada_lovelace
类Users
,则必须将User
定义为公共,并创建如下对象:
Users::User ada_lovelace;
答案 1 :(得分:-2)
检查下面的实施
namespace A {
struct SMS{
string id;
Messages msg; //(an array of strings)
};
}
//Namespace A ends here so if you want to use SMS in the class u need to mention it as A::SMS sms
class Users{
public:
//ALL THE FUNCTIONS HERE TO MANAGE THE USER
private:
struct User{
string id_user;
A::SMS sms; // Corrected here ------------
};
};