C++空类详解

 更新时间:2013年09月12日 09:10:28   作者:  
以下是对C++中的空类进行了详细的介绍,需要的朋友可以过来参考下

空类默认产生的成员:
class Empty {};
Empty(); // 默认构造函数
Empty( const Empty& ); // 默认拷贝构造函数
~Empty(); // 默认析构函数
Empty& operator=( const Empty& );  // 默认赋值运算符
Empty* operator&();               // 取址运算符
const Empty* operator&() const;    // 取址运算符 const

给出一个例子:

复制代码 代码如下:

#include<iostream>
using namespace std;

class Empty
{
public:
 Empty *operator&()
 {
   cout<<"AAAA"<<endl;
   return this;
 }
 const Empty* operator&() const
 {
   cout<<"BBBB"<<endl;
   return this;
 }
};

int main(void)
{
  Empty e;
  Empty *p=&e;
  const Empty e2;
  const Empty *p2=&e2;
  cout<<sizeof(Empty)<<endl;
}


运行结果:




可见:
Empty *p=&e调用了Empty* operator&()运算符函数
const Empty *p2=&e2调用了const Empty* operator&() const运算符函数。
空类的大小为1字节。

相关文章

  • 离线安装visual studio2022+QT5.12的实现步骤

    离线安装visual studio2022+QT5.12的实现步骤

    近期有需求离线配置C++与QT环境,本文主要介绍了离线安装visualstudio2022+QT5.12的实现步骤,具有一定的参考价值,感兴趣的可以了解一下
    2024-06-06
  • C/C++ Crypto密码库调用的实现方法

    C/C++ Crypto密码库调用的实现方法

    Crypto 库是C/C++的加密算法库,这个加密库很流行,基本上涵盖了市面上的各类加密解密算法,感兴趣的可以参考一下
    2021-06-06
  • C语言结构体成员赋值的深拷贝与浅拷贝详解

    C语言结构体成员赋值的深拷贝与浅拷贝详解

    C语言中的浅拷贝是指在拷贝过程中,对于指针型成员变量只拷贝指针本身,而不拷贝指针所指向的目标,它按字节复制的。深拷贝除了拷贝其成员本身的值之外,还拷贝成员指向的动态内存区域内容。本文将通过示例和大家详细说说C语言的深拷贝与浅拷贝,希望对你有所帮助
    2022-09-09
  • c++中map容器的使用详解

    c++中map容器的使用详解

    这篇文章主要介绍了c++中map容器的使用详解,C++中map容器提供一个键值对容器,map与multimap差别仅仅在于multiple允许一个键对应多个值,需要的朋友可以参考下
    2023-08-08
  • C语言实现学籍管理系统

    C语言实现学籍管理系统

    这篇文章主要为大家详细介绍了C语言实现学籍管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C语言模拟实现C++的继承与多态示例

    C语言模拟实现C++的继承与多态示例

    本篇文章主要介绍了C语言模拟实现C++的继承与多态示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • C/C++自主分配出现double free or corruption问题解决

    C/C++自主分配出现double free or corruption问题解决

    这篇文章主要为大家介绍了C/C++出现double free or corruption问题解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • QT6中添加串口模块SerialPort的实现

    QT6中添加串口模块SerialPort的实现

    本文主要介绍了QT6中添加串口模块SerialPort的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-09-09
  • 详解C++实现线程安全的单例模式

    详解C++实现线程安全的单例模式

    这篇文章主要介绍了C++实现线程安全的单例模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • OpenCV cv.Mat与.txt文件数据的读写操作

    OpenCV cv.Mat与.txt文件数据的读写操作

    这篇文章主要介绍了OpenCV cv.Mat 与 .txt 文件数据的读写操作,现在分享给大家,也给大家做个参考
    2018-05-05

最新评论