不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
C++默认构造函数
编辑:dnawo 日期:2010-11-22
代码一:
执行正确,说明编译器为我们创建了默认了构造函数(没有参数的构造函数)。
代码二:
执行正确并输出了文本,说明使用了我们自定义的默认构造函数。
代码三:
执行出错,提示缺少默认的构造函数。
代码四:
执行正确并输出文本,说明使用了我们自定义的默认构造函数。
总结
在C++中,当我们没有为类定义任何构造函数时,编译会创建默认构造函数;如果我们为类定义了一个构造函数,无论该构造函数是默认构造函数,还是非默认构造函数,编译器都不再为我们创建默认构造函数,在C#中也是这样子的。
复制内容到剪贴板
程序代码

#include <iostream>
using namespace std;
class AA
{
};
int main()
{
AA *a=new AA();
return 0;
}
using namespace std;
class AA
{
};
int main()
{
AA *a=new AA();
return 0;
}
执行正确,说明编译器为我们创建了默认了构造函数(没有参数的构造函数)。
代码二:
复制内容到剪贴板
程序代码

#include <iostream>
using namespace std;
class AA
{
public:
AA(){cout<<"自定义默认构造函数"<<endl;}
};
int main()
{
AA *a=new AA();
return 0;
}
using namespace std;
class AA
{
public:
AA(){cout<<"自定义默认构造函数"<<endl;}
};
int main()
{
AA *a=new AA();
return 0;
}
执行正确并输出了文本,说明使用了我们自定义的默认构造函数。
代码三:
复制内容到剪贴板
程序代码

#include <iostream>
using namespace std;
class AA
{
public:
AA(int a, int b){}
};
int main()
{
AA *a=new AA();
return 0;
}
using namespace std;
class AA
{
public:
AA(int a, int b){}
};
int main()
{
AA *a=new AA();
return 0;
}
执行出错,提示缺少默认的构造函数。
代码四:
复制内容到剪贴板
程序代码

#include <iostream>
using namespace std;
class AA
{
public:
AA(){cout<<"自定义默认构造函数"<<endl;}
AA(int a, int b){}
};
int main()
{
AA *a=new AA();
return 0;
}
using namespace std;
class AA
{
public:
AA(){cout<<"自定义默认构造函数"<<endl;}
AA(int a, int b){}
};
int main()
{
AA *a=new AA();
return 0;
}
执行正确并输出文本,说明使用了我们自定义的默认构造函数。
总结
在C++中,当我们没有为类定义任何构造函数时,编译会创建默认构造函数;如果我们为类定义了一个构造函数,无论该构造函数是默认构造函数,还是非默认构造函数,编译器都不再为我们创建默认构造函数,在C#中也是这样子的。






评论: 0 | 引用: 0 | 查看次数: 4729
发表评论
请登录后再发表评论!