我正在学习C++.现在我还不完全明白这是做什么的
Some_Class::Some_Class {
etc...
}
Run Code Online (Sandbox Code Playgroud)
我会为自己做一些研究,但我不知道从哪里开始或者它叫什么.帮助将不胜感激.
AnT*_*AnT 11
没有办法说出它是什么,因为你发布的"代码"无效且含糊不清.
它可以是以异类方式制作的嵌套类定义.定义嵌套类时,可以立即在内部定义内部类,如
class Some_Class { // <- definition of the outer class
...
class SomeClass { // <- definition of the inner class
...
};
...
};
Run Code Online (Sandbox Code Playgroud)
或者,如果您愿意,您只能在里面声明嵌套类,并将实际定义移到外面
class Some_Class { // <- definition of the outer class
...
class SomeClass; // <- declaration of the inner class
...
};
class Some_Class::SomeClass { // <- definition of the inner class
...
};
Run Code Online (Sandbox Code Playgroud)
但是,为此,它必须从class/struct您发布的内容开始.
或者它可以是SomeClass类的成员函数的定义Some_Class.
class Some_Class {
...
void SomeClass(int i); // <- declaration of member function
...
};
void Some_Class::SomeClass(int i) // <- definition of member function
{
...
}
Run Code Online (Sandbox Code Playgroud)
但为此,它必须包括返回类型和参数列表.
或者它可以是带有{}-enclosed初始化程序的静态成员的定义
class Some_Class {
...
static int SomeClass;
...
};
int Some_Class::SomeClass { 42 };
Run Code Online (Sandbox Code Playgroud)
但为此,它必须包含静态成员的类型.
换句话说,没有办法说出你发布的内容以及你的问题是什么.
:: 解析类或命名空间。
例如
namespace test1 { int i = 0; }
cout << test1::i << endl;
Run Code Online (Sandbox Code Playgroud)
或者
class test2 {
public:
static int i = 0;
};
// after in
cout << test2::i << endl;
Run Code Online (Sandbox Code Playgroud)
你也可以添加这个:
using namespace test1;
cout << i << endl;
Run Code Online (Sandbox Code Playgroud)