从技术上讲,下面给出的代码不应该编译和运行,因为我已经声明了一个不完整数据类型的自动实例,但确实如此。请允许有人为我解码。
#include<iostream.h>
#include<conio.h>
void main()
{
class student;
student s;
getch();
}
class student
{
int age;
public:
student();
~student();
};
student::student()
{
age=14;
}
student::~student()
{
}`
答案 0 :(得分:1)
它无效ISO C ++。
您的编译器可能接受它,因为它不是ISO C ++编译器 它是20世纪90年代早期版本的“C ++”的编译器。
ISO C ++于1998年出现。对于你在未使用的语言中应该或不应该发生的“技术上”,没有必要合理化。