请告诉我为什么当我将构造函数视为一个没有私有(private)和公共(public)部分的类时我的程序被编译和执行,只需在它前面写单词 class
如下:
class sample
{
private:
int a,b;
public:
class sample(int a1){a = a1;}
};
最佳答案
那是无效的,我的编译器拒绝了它。构造函数必须使用类名声明,没有类键(即没有 class
、struct
或 union
关键字)。
也许您的编译器接受详细的类型说明符作为构造函数名称;但如果是这样,那就是非标准扩展,您不应该依赖它。如果幸运的话,编译器可能会提供一个禁用扩展的选项,如果您不想永远依赖于该编译器,则应该使用该选项。
关于c++ - 构造函数定义可以以 "class"关键字为前缀吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24940631/