我读过没有名字的课程......
得到了
class
{
int i;
};
时未被取消
class
{
int i;
}A;
有效。 但是如何拥有:1)构造函数和:2)析构函数和:3)如何作为参数传递???
答案 0 :(得分:5)
如果该类未命名,则它不能具有自定义构造函数/析构函数(尽管编译器将为您生成通常的默认值)。这意味着你不能在构造时传递参数。但是,可能没有什么可以阻止你(1)在类中添加一个或多个方法以在构造之后将数据传递给它,或者(2)首先给类命名。
答案 1 :(得分:0)
您注定在本地使用该类并仅通过本地对象A访问它。
您可以在模板中使用它:
template <typename T>
inline void print(const T& a) {
std::cout << a.x << std::endl;
}
int main()
{
class {
public: int x;
} a;
a.x = 1;
print(a);
}
答案 2 :(得分:0)
第二件事是有效的,但你不能访问会员我,因为它是私人的。它仅在您创建了该类类型的对象A时才有效。
要有一个构造函数,我认为你必须给这个类命名。使用此:
class myclass
{
int i;
public:
myclass(int a) //This is the constructor
{
i = a;
}
~myclass() //This is the destructor
{
//Whatever you want to do on destroying the object
}
};
并按如下方式实例化该类:
myclass A(10);
或类似的。
注意:这只是我的解释,它可以通过许多其他方式完成。