摘要: 转载http://www.cnblogs.com/carbs/archive/2012/04/04/2431992.html问题:我看的书上写的对私有部分的访问可以是公共部分的成员函数,也可以是友员函数,那么可以直接对私有部分的静态成员进行初始化吗? 回答:1.static成员的所有者是类本身和对象,但是多有对象拥有一样的静态成员。从而在定义对象时不能通过构造函数对其进行初始化。2.静态成员不能在类定义里边初始化,只能在class body外初始化。3.静态成员仍然遵循public,private,protected访问准则。4.静态成员函数没有this指针,它不能返回非静态成员,因为除了对象 阅读全文
posted @ 2013-08-14 21:52 z折腾 阅读(3852) 评论(0) 推荐(0)
摘要: /home/ztteng/work/test/20130814/inc/PartList.h: In constructor ‘CarPart::CarPart(int, int)’:/home/ztteng/work/test/20130814/inc/PartList.h:21: warning: ‘CarPart::itsModelYear’ will be initialized after/home/ztteng/work/test/20130814/src/PartList.cpp:10: warning: base ‘Part’/home/ztteng/work/test/201 阅读全文
posted @ 2013-08-14 21:36 z折腾 阅读(328) 评论(0) 推荐(0)
摘要: 转载http://www.cnblogs.com/8586/archive/2008/09/08/1287028.html纯虚函数是一种特殊的虚函数,它的一般格式如下:class { virtual ()=0; … }; 在许多情况下,在基类中不能对虚函数给出有意义有实现,而把它说明为纯虚函数,它的实现留给该基类的派生类去做。这就是纯虚函数的作用。下面给出一个纯虚函数的例子。#include class point { public: point(int i=0, int j=0) { x0=i; y0=j; } virtual void set()... 阅读全文
posted @ 2013-08-14 20:08 z折腾 阅读(798) 评论(0) 推荐(0)
摘要: 一、友元类相关概念 要将私有成员数据或函数暴露给另一个类,必须将后者声明为友元类。 注意三点: (1)友元关系不能传递 (2)友元关系不能继承 (3)友元关系不能互通 阅读全文
posted @ 2013-08-14 19:40 z折腾 阅读(183) 评论(0) 推荐(0)
摘要: 转载http://www.cnblogs.com/kadinzhu/archive/2011/12/12/2284826.html看《effective c++》,作者一直强调用std::tr1::shared_ptr,比起auto_ptr好多了。shared_ptr采用引用计数,多个指针可以指向同一个对象;auto_ptr就不能,只能运行一个指针指向一个对象:如果要指针赋值,那么原来的指针要放弃对该对象的所有权。恩,以后都用shared_ptr。shared_ptr在最新的c++11中,已经被列入了标准指针,而auto_ptr则出局了。说了那么多,shared_ptr采用RAII技术,是防止 阅读全文
posted @ 2013-08-14 19:14 z折腾 阅读(477) 评论(0) 推荐(0)
摘要: 转载http://www.cnblogs.com/gnagwang/archive/2010/11/19/1881811.htmlC++的auto_ptr auto_ptr所做的事情,就是动态分配对象以及当对象不再需要时自动执行清理。1 构造函数与析构函数 auto_ptr在构造时获取对某个对象的所有权(ownership),在析构时释放该对象。我们可以这样使用auto_ptr来提高代码安全性:int* p = new int(0);auto_ptr ap(p);从此我们不必关心应该何时释放p, 也不用担心发生异常会有内存泄漏。这里我们有几点要注意:1) 因为auto_ptr析构的时候肯定会. 阅读全文
posted @ 2013-08-14 19:10 z折腾 阅读(275) 评论(0) 推荐(0)
摘要: 转载http://www.cnblogs.com/geekliu/archive/2012/04/24/2468403.htmlclass MyClass{public:MyClass(int num);...}MyClass obj = 10; //ok,convert int to MyClass在上面的代码中编译器自动将整型转换为MyClass类对象,实际上等同于下面的操 作:MyClass temp(10);MyClass obj = temp;上面的 所有的操作即是所谓的"隐式转换".如果要避免这种自动转换 的功能,我们该怎么做呢?嘿嘿这就是关键字explicit 阅读全文
posted @ 2013-08-14 19:06 z折腾 阅读(275) 评论(0) 推荐(0)