欢迎来到入门教程网!

C语言

当前位置:主页 > 软件编程 > C语言 >

C++空类详解

来源:本站原创|时间:2020-01-10|栏目: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字节。

上一篇:CFile与CStdioFile的文件读写使用方法详解

栏    目:C语言

下一篇:浅析Boost智能指针:scoped_ptr shared_ptr weak_ptr

本文标题:C++空类详解

本文地址:https://www.xiuzhanwang.com/a1/Cyuyan/4155.html

网页制作CMS教程网络编程软件编程脚本语言数据库服务器

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:835971066 | 邮箱:835971066#qq.com(#换成@)

Copyright © 2002-2020 脚本教程网 版权所有