C++ 通过外部类的实例访问嵌套的内部类
假设我有这样的东西C++ 通过外部类的实例访问嵌套的内部类,c++,C++,假设我有这样的东西 class Outer { public: static int m_Out; class Inner { public: static int m_In; void Display(); }; }; int Outer::m_Out = 10; int Outer::Inner::m_In = 25; void Outer::Inner::Display() { std::cout <
class Outer
{
public:
static int m_Out;
class Inner
{
public:
static int m_In;
void Display();
};
};
int Outer::m_Out = 10;
int Outer::Inner::m_In = 25;
void Outer::Inner::Display()
{
std::cout <<m_Out << std::endl;
}
int main()
{
Outer objOut;
Outer::Inner objIn;
objouOut.Inner::m_in //Error
std::cin.get();
}
类外部
{
公众:
静态输入输出;
班级内部
{
公众:
静态int m_In;
void Display();
};
};
int-Outer::m_-Out=10;
int外部::内部::m_In=25;
无效外部::内部::显示()
{
std::cout这应该可以
class Outer{
public:
static int m_Out;
class Inner
{
public:
static int m_In;
void Display();
};
};
int Outer::m_Out = 10;
int Outer::Inner::m_In = 25;
void Outer::Inner::Display()
{
std::cout << m_Out << std::endl;
}
int main(){
Outer::Inner objIn;
Outer::Inner::m_In;
std::cin.get();
}
类外部{
公众:
静态输入输出;
班级内部
{
公众:
静态int m_In;
void Display();
};
};
int-Outer::m_-Out=10;
int外部::内部::m_In=25;
无效外部::内部::显示()
{
std::cout由于
中的成员变量m_被声明为静态
它属于类内部
,而不是类内部
的任何实例
因此,下面的代码部分不是有效的C++语法:
objOut.Inner::m_In;
要访问它,您应该键入:
Outer::Inner::m_In
此外,定义内部类并不意味着外部类的每个对象都会附带内部类的成员对象。内部类的定义是外部类定义范围内用户类型的定义。@这完全有道理。我知道如何访问它。我想知道原因。请在答案中写下关于内部类是一种类型的评论。这就清除了所有的问题。Orry在评论中迟到了。lol正在youtube上观看一段视频。@402大致为您总结了一下。请写下关于内部类是一种类型的评论,以便我可以将其标记为答案。这最初是作为一种评论发布的这句话为我澄清了一切,希望也能帮助其他人。谢谢你的详细回答