2014年3月6日

关于相互依赖的类,如何不报错

摘要: 名词:--声明: class A; 只声明而不在此处定义,告诉编译器有这个类型,那么你就可以使用这个类型了,但这个类型的使用是受限的(在定义之前的使用)不完全类型:上面的类型就是不完全类型,该类型只能用来定义指向该类型的指针或则引用。在创建类的对象之前,必须完整地定义该类,同样在使用指针或者引用访问该类成员时,必须已经定义了类。#includeusing namespace std;class B;class A{public: A(){ m_a = 10;} void seta(B &b);//可以定义类的引用 ,但是不能在这里完整地定义该函数,因为B类只声明还没定义 i... 阅读全文

posted @ 2014-03-06 16:50 剑行earth 阅读(208) 评论(0) 推荐(0) 编辑

初始化列表和构造函数体内部的初始化是不同的

摘要: 今天在《C++prime》(真是一本好书啊,刚买来看,就学到了不少东西,果然学编程是幸福的,有那么多好书可以看)中看到了初始化列表和构造函数的不同之处。它们的不同之处在于--初始化列表是真正的初始化 ---相当于int a =10;而构造函数的函数体中的初始化(应该不能叫做初始化了)只是赋值而已 ---相当于 int a; a = 10;这些不同是可以在其他C++书中由理解得到,但是书中没有说,以至于自己也不知道是不是真的是这样。为了验证这个,下面做一个实验先说明一个东西,如果A是一个类,类中有拷贝构造函数,和重载了=号运算符那么 A a1; A a2 = a1;//初始化。调用拷贝构造函.. 阅读全文

posted @ 2014-03-06 16:49 剑行earth 阅读(362) 评论(0) 推荐(0) 编辑

导航