欢迎光临

木子屋

标题: C++默认构造函数

作者: dnawo

日期: 2010-11-22 04:35 PM

分类: Win编程

内容: 代码一：
复制内容到剪贴板 程序代码#include <iostream>
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;
}
执行正确并输出了文本，说明使用了我们自定义的默认构造函数。
代码三：
复制内容到剪贴板 程序代码#include <iostream>
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;
}
执行正确并输出文本，说明使用了我们自定义的默认构造函数。
总结
在C++中，当我们没有为类定义任何构造函数时，编译会创建默认构造函数；如果我们为类定义了一个构造函数，无论该构造函数是默认构造函数，还是非默认构造函数，编译器都不再为我们创建默认构造函数，在C#中也是这样子的。

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.369 ms

返回

标题: C++默认构造函数

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.369 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 1.431 ms

返回