C++中一个空类默认产生的成员函数
2017-07-24 20:58
274 查看
如果你只是声明一个空类,不做任何事情的话,编译器会自动为你生成一个默认构造函数、一个拷贝默认构造函数、一个默认拷贝赋值操作符和一个默认析构函数。这些函数只有在第一次被调用时,才会别编译器创建。所有这些函数都是inline和public的。
定义一个空的C++类,例如
2
3
1
2
3
一个空的class在C++编译器处理过后就不再为空,编译器会自动地为我们声明一些member function,一般编译过去就相当于:
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
一般的书上好像都是前面四种:默认构造函数,拷贝构造函数,默认赋值函数以及析构函数,后面两种其实属于,但要需要注意的是,只有当你需要用到这些函数的时候,编译器才会去定义它们。
定义一个空的C++类,例如
class Empty { }1
2
3
1
2
3
一个空的class在C++编译器处理过后就不再为空,编译器会自动地为我们声明一些member function,一般编译过去就相当于:
class Empty { public: Empty(); // 缺省构造函数// Empty( const Empty& ); // 拷贝构造函数// ~Empty(); // 析构函数// Empty& operator=( const Empty& ); // 赋值运算符// Empty* operator&(); // 取址运算符 const Empty* operator&() const; // 取址运算符 const };1
2
3
4
5
6
7
8
9
10
11
1
2
3
4
5
6
7
8
9
10
11
一般的书上好像都是前面四种:默认构造函数,拷贝构造函数,默认赋值函数以及析构函数,后面两种其实属于,但要需要注意的是,只有当你需要用到这些函数的时候,编译器才会去定义它们。
相关文章推荐
- C++中的空类,编译器默认可以产生哪些成员函数
- C++中的空类,默认产生哪些类成员函数?
- C++ 空类默认产生的类成员函数
- C++中的空类,默认产生哪些类成员函数? 转
- C++中的空类,编译器默认可以产生哪些成员函数
- C++中的空类,默认产生哪些类成员函数?
- C++中的空类,默认产生哪些类成员函数?
- C++中的空类默认产生哪些类成员函数
- C++中的空类,默认产生哪些类成员函数?
- C++中的空类,编译器默认可以产生哪些成员函数
- 【C++缺省函数】 空类默认产生的6个类成员函数
- C++ 空类,默认产生哪些成员函数
- C++中的空类,默认产生哪些类成员函数?
- C++中的空类,默认产生哪些类成员函数?
- C++中的空类,默认产生哪些类成员函数
- C++中的空类,默认产生那些类成员函数
- C++中的空类,默认产生的类成员函数
- C++ 空类,默认产生哪些成员函数
- C++中的空类默认产生的类成员函数
- C++中的空类,默认产生哪些类成员函数?