在我了解默认构造函数之前,我一直以为两点:
1.如果类中我不声明构造函数,编译器会自动生成默认构造函数并执行。
2.编译器自动生成默认构造函数会将类成员初始化。
然而这两点都是错的。
首先,看一个例子程序,没有构造函数,有成员变量。
源代码:
/*****************************************************************
> File Name: test.cpp
> Author:
> Mail:
> Created Time: 2016年04月06日 星期三 22时06分45秒
*****************************************************************/
#include <iostream>
using namespace std;
class Tree
{
public:
//Tree(){num = 0; p = NULL;}
void get_num(){

本文探讨了C++中默认构造函数的误解,指出编译器自动生成的默认构造函数并不一定会执行成员变量的初始化。通过示例程序和GDB调试,展示了只有在特定条件下(如成员类对象、基类、虚拟函数、虚基类)默认构造函数才会被执行的情况。
最低0.47元/天 解锁文章
3141

被折叠的 条评论
为什么被折叠?



