首页 > 试题广场 >

C++中空类默认产生哪些类成员函数()

[不定项选择题]
C++中空类默认产生哪些类成员函数()
  • 默认构造函数
  • 析构函数
  • 拷贝构造函数
  • 赋值函数
发表于 2019-10-10 11:44:50 回复(3)
如果只是声明一个空类,不做任何事情的话,编译器会自动生成
一个默认构造函数
一个拷贝默认构造函数
一个默认拷贝赋值操作符
一个默认析构函数
这些函数只有在第一次被调用时,才会别编译器创建。所有这些函数都是inline和public的。
发表于 2019-10-17 19:03:16 回复(0)
我选的不是C语言题库吗,怎么给我挑出来这个题目

发表于 2022-02-28 14:52:23 回复(1)

如果你只是声明一个空类,不做任何事情的话,编译器会自动为你生成一个默认构造函数、一个拷贝默认构造函数、一个默认拷贝赋值操作符和一个默认析构函数。这些函数只有在第一次被调用时,才会别编译器创建。所有这些函数都是inline和public的。

定义一个空的C++类,例如
class Empty
{
}
一个空的class在C++编译器处理过后就不再为空,编译器会自动地为我们声明一些member function,一般编译过去就相当于:
class Empty
{
public:
Empty(); // 缺省构造函数//
Empty( const Empty& ); // 拷贝构造函数//
~Empty(); // 析构函数//
Empty& operator=( const Empty& ); // 赋值运算符//
Empty* operator&(); // 取址运算符
const Empty* operator&() const; // 取址运算符 const
};
一般的书上好像都是前面四种:默认构造函数,拷贝构造函数,默认赋值函数以及析构函数,后面两种其实属于,但要需要注意的是,只有当你需要用到这些函数的时候,编译器才会去定义它们。
发表于 2020-08-12 21:55:23 回复(0)
C++空类默认自动产生6个成员函数,默认构造函数、默认拷贝构造函数、默认析构函数、默认赋值运算符重载 这四个是我们通常大都知道的。但是除了这四个,还有两个,那就是取址运算符重载和 取址运算符重载 const
发表于 2022-10-25 21:55:50 回复(0)
c语言将近两千题完结撒花!
发表于 2023-09-27 19:13:27 回复(0)

 默认构造函数、 默认拷贝构造函数、 默认析构函数、 默认赋值运算符、取址运算符、const 取址运算符

发表于 2023-10-19 17:03:44 回复(0)
如果不是空类,只是不定义拷贝函数的话 会自动生成这个函数吗
发表于 2019-10-09 16:41:11 回复(1)
发不了图片啊,焯
发表于 2023-11-30 01:55:40 回复(0)
空类的话,不是什么都不产生么,只占用一个字节空间,汇编看的,定义该类对象不产生任何代码
发表于 2022-09-13 17:11:35 回复(2)
C++中空类默认产生的类成员函数:
1、默认构造函数
2、析构函数
3、赋值函数
4、还有拷贝构造函数

发表于 2021-09-26 19:22:18 回复(0)