C++的空类有哪些成员函数:
. 缺省构造函数。
. 缺省拷贝构造函数。
. 缺省析构函数。
. 缺省赋值运算符。
. 缺省取址运算符。
. 缺省取址运算符 const。

    注意:有些书上只是简单的介绍了前四个函数(宝典4th p112)。没有提及后面这两个函数。但后面这两个函数也是空类的默认函数(Ref:《effective c++》)。另外需要注意的是,只有当实际使用这些函数的时候,编译器才会去定义它们。

  1. //C++ 空类默认产生的类成员函数:
  2. //缺省构造函数,拷贝构造函数,析构函数,赋值运算符,取址运算符,取址运算符 const
  3. #include<iostream>
  4. using namespace std;
  5. class class1{
  6. public:
  7. class1(){}//缺省构造函数
  8. class1(const class1&){}//拷贝构造函数
  9. ~class1(){}//析构函数
  10. class1&operator=(const class1&){}//赋值运算符
  11. class1*operator&(){}//取址运算符
  12. const class1*operator&()const{}//取址运算符 const
  13. };
  14. //空类class2会产生class1一样的成员函数
  15. class class2{};
  16. void main()
  17. {
  18. class2 obj1;//缺省构造函数
  19. class2 obj2;
  20. obj1=obj2;//赋值运算符
  21. &obj2;//取址运算符
  22. class2 obj3(obj1);//拷贝构造函数
  23. class2 const obj4;
  24. &obj4;//取址运算符 const
  25. }

参考文献:
http://blog.csdn.net/makuiyu/article/details/8047340
http://blog.csdn.net/wulibin136/article/details/6328974

												

C++ 空类默认产生的类成员函数的更多相关文章

  1. C++中的空类,编译器默认可以产生哪些成员函数

    C++中的空类,编译器默认可以产生哪些成员函数 C++中创建一个空类:class Empty {};默认会生成4个函数,其函数的原型如下: public: Empty() { ... } Empty( ...

  2. 类1(this指针/const成员函数/类作用域/外部成员函数/返回this对象的函数)

    假设我们要设计一个包含以下操作的 Sales_data 类: 1.一个 isbn 成员函数,用于返回对象的 book_no 成员变量 2.一个 combine 成员函数,用于将一个 Sales_dat ...

  3. C#中Stack&lt;T&gt;类的使用及部分成员函数的源代码分析

    Stack<T>类 Stack<T> 作为数组来实现. Stack<T> 的容量是 Stack<T> 能够包括的元素数. 当向 Stack<T&g ...

  4. C++类内存布局图(成员函数和成员变量分开讨论)

    一.成员函数 成员函数可以被看作是类作用域的全局函数,不在对象分配的空间里,只有虚函数才会在类对象里有一个指针,存放虚函数的地址等相关信息. 成员函数的地址,编译期就已确定,并静态绑定或动态的绑定在对 ...

  5. 类中用const限定的成员函数

    本文转自http://blog.csdn.net/whyglinux/article/details/602329 类的成员函数后面加 const,表明这个函数不会对这个类对象的数据成员(准确地说是非 ...

  6. C++ 友元 (全局函数做友元) (类做友元) (成员函数做友元)

    1 //友元 全局函数做友元 2 /* 3 #include <iostream> 4 #include <string> 5 using namespace std; 6 7 ...

  7. python类内部调用自己的成员函数必须加self

    class A: def a(self): print("hello world") def b(self): return self.a() 上面的self.a()中self是不 ...

  8. (转)c++类的成员函数存储方式(是否属于类的对象)---一道面试题引发的思考

    昨天去面试一家公司,面试题中有一个题,自己没弄清楚,先记录如下: class D { public: void printA() { cout<<"printA"< ...

  9. C++类的成员函数(在类外定义成员函数、inline成员函数)

    类的成员函数(简称类函数)是函数的一种,它的用法和作用和前面介绍过的函数基本上是一样的,它也有返回值和函数类型,它与一般函数的区别只是:它是属于一个类的成员,出现在类体中.它可以被指定为private ...

随机推荐

  1. Scala AOP

    trait Action { def doAction } trait TBeforeAfter extends Action { abstract override def doAction { p ...

  2. xml文件查找重复元素(超简单版)

    使用WPS,新建一个表格文件,将xml拖入表格,点数据,选中存在重复项的列,点高亮重复项,OK.

  3. chrome下li标签onclick事件无效

    //绑定事件 $(document).ready(function () { $("ul").children().click(function () { clickLi(this ...

  4. HDU 5860 Death Sequence(递推)

    HDU 5860 Death Sequence(递推) 题目链接http://acm.split.hdu.edu.cn/showproblem.php?pid=5860 Description You ...

  5. angularjs中sortable的使用

    将每个li并列排序,同时可以实现拖拉排序功能 html: js:使用的插件:html.sortable.angularjs,html.sortable.js 实现的效果: 通过js中sortableO ...

  6. 初学者必知的HTML规范

    一.整体结构 用div代替table布局 结构.表现.行为三者分离,避免内联 良好的树形结构四个空格代替一个tab 能并列就不嵌套<div></div><div>& ...

  7. 对jquery新增加的class绑定事件

    当页面加载时,就会注册所有的事件,后面通过jquery新增的内容(<div class="item"></div>),再对新增的添加事件$(".i ...

  8. HDU 5821 Ball

    记录一下每个位置最终到达的位置.然后每次操作排序. #pragma comment(linker, "/STACK:1024000000,1024000000") #include ...

  9. linux下文件搜索

    常用: grep -nr "关键字" 搜索当前目录下所有匹配关键字的文件 grep -nr "关键字" *php  搜索当前目录下所有匹配关键字的php文件 f ...

  10. 推荐一篇很好的介绍wpf dependency property的文章

    http://www.codeproject.com/Articles/140620/WPF-Tutorial-Dependency-Property