C++ 在本地类中定义结构并初始化它
我们学院的教授给了我们一个棘手的问题,我们必须在一个函数中声明一个类,并在该类中声明一个结构,然后从main()调用该函数。我尝试了以下代码:C++ 在本地类中定义结构并初始化它,c++,C++,我们学院的教授给了我们一个棘手的问题,我们必须在一个函数中声明一个类,并在该类中声明一个结构,然后从main()调用该函数。我尝试了以下代码: #include<iostream> using namespace std; void fun() { class Test { public: struct X { int v; }x; x.v=10;
#include<iostream>
using namespace std;
void fun()
{
class Test
{
public:
struct X
{
int v;
}x;
x.v=10;
void method(void) {
cout << "Local Class called, v="<<x.v;
}
};
Test t;
t.method();
}
int main(void)
{
fun();
return 0;
}
#包括
使用名称空间std;
虚无乐趣()
{
课堂测试
{
公众:
结构X
{
INTV;
}x;
x、 v=10;
无效方法(void){
您是否可以将赋值x.v=10;
放在类作用域中,但只有声明和函数定义可以存在。该代码必须放在函数中,可能是测试的构造函数:
#include <iostream>
void fun()
{
class Test
{
public:
struct X
{
int v;
} x;
Test()
{
x.v = 10;
}
void method()
{
std::cout << "Local class called; v = " << x.v << std::endl;
}
};
Test t;
t.method();
}
int main()
{
fun();
}
#包括
虚无乐趣()
{
课堂测试
{
公众:
结构X
{
INTV;
}x;
测试()
{
x、 v=10;
}
void方法()
{
std::cout您将赋值x.v=10;
放在类作用域中,但只有声明和函数定义可以存在。该代码必须放在函数中,可能是测试的构造函数:
#include <iostream>
void fun()
{
class Test
{
public:
struct X
{
int v;
} x;
Test()
{
x.v = 10;
}
void method()
{
std::cout << "Local class called; v = " << x.v << std::endl;
}
};
Test t;
t.method();
}
int main()
{
fun();
}
#包括
虚无乐趣()
{
课堂测试
{
公众:
结构X
{
INTV;
}x;
测试()
{
x、 v=10;
}
void方法()
{
std::你能详细说明这是一个“技巧问题”的方式吗?并正确缩进你的代码。我想在函数中声明一个类,在该类中声明一个结构似乎是一种糟糕的编程风格。因此,棘手?啊,“棘手”!=“棘手”):)对不起,英语不是我的第一语言。:)你能详细说明这是一个“技巧问题”的方式吗?并适当缩进你的代码。我想在一个函数中声明一个类,在该类中声明一个结构似乎是一种糟糕的编程风格。因此,棘手?啊,“棘手”!=“棘手”对不起,英语不是我的第一语言。):根据C++版本,初始化。C++的版本,初始化。