4.已知String类的原型是: class String { public: String(const char* str = NULL); //普通的构造函数 String(const String& that); //拷贝构造函数 ~String(void);//析构函数 Stri...
分类:
编程语言 时间:
2014-07-16 20:43:28
阅读次数:
196
c++基础知识 从一个基本的CMyString类讲起,分析了 构造函数 拷贝构造函数 析构函数 "="、"+="、"+"、左"++"、右"++"操作符重载 "<<"输出流友元函数重载 1、实现过程要关注内存泄露(析构)、非法输入值处理(“赋值重载”)、内存溢出异常处...
分类:
编程语言 时间:
2014-07-11 09:35:14
阅读次数:
251
在实现多态时候,基类的析构函数应该写成virtual。在用基类申明实例化的子类对象,在delete时候,如果基类不是virtual的析构函数则不能调用进子类的析构函数class Base{public: Base(); virtual ~Base();public: char *m...
分类:
编程语言 时间:
2014-07-09 00:34:22
阅读次数:
201
C++不同于Java,Java中被final关键字修饰的类不能被继承,C++能实现不被继承的类,但是需要自己实现。 为了使类不被继承,最好的办法是使子类不能构造父类的部分,此时子类就无法实例化整个子类。在C++中,子类的构造函数会自动调用父类的构造函数,子类的析构函数也会自动的调用父类的析构函...
分类:
编程语言 时间:
2014-07-08 23:38:23
阅读次数:
320
1.构造函数和析构函数中调用虚函数
(1)采用静态编译。
(2)在编译阶段自动联接自己类中的函数或基类中的函数,不在派生类中重定义一个函数。
注:构造函数和析构函数中调用的虚函数,派生类都不一定存在的情况下,只能去调用基类或者自身的函数。
example 1
#include
class A
{
public:
A() {}
virtual void...
分类:
编程语言 时间:
2014-07-08 17:48:25
阅读次数:
274
请求的系统资源需要最终还回系统,为了避免遗忘返还这个动作,可以利用析构函数在object销毁时自动调用的特点来实现。简单说就是用object来管理资源。以内存资源为例class Investment {}; Investment* creatInvestment(){...} // factory ...
分类:
编程语言 时间:
2014-07-08 12:34:28
阅读次数:
222
2.2.1中骨骼动画释放不完全,需要更改源码进行手动释放,释放方法不能放在析构函数和onExit()函数中。第一步修改源码:文件位置:extensions/CocoStudio/Armature/utils/CCDataReaderHelper.cpp; if (pAsyncStruct->imag...
分类:
其他好文 时间:
2014-07-03 07:05:11
阅读次数:
255
类成员函数除了static数据成员,类还可以有static成员函数。静态成员函数只能访问其他的static成员,包括数据成员和成员函数。例3-38本例声明了一个内联的static成员函数getN。在例3-35中,我们知道对象和非静态成员函数(包括构造函数和析构函数)可以访问像n这样的static数据...
分类:
其他好文 时间:
2014-07-02 19:44:32
阅读次数:
220
1.析构函数不继承;派生类对象在析构时,基类析构函数的调用顺序与构造函数相反。
注:派生类对象建立时要调用基类构造函数,派生类对象删除时要调用基类析构,顺序与构造函数严格相反。
2.例子
example 1
#include
#include
class Point
{
public:
Point(double a, double b, doule c)
...
分类:
编程语言 时间:
2014-07-02 08:26:49
阅读次数:
298
例子
example 1
注:若一个基类同时派生出两个派生类,即两个派生类从同一个基类继承,那么系统将为每一个简历副本,每个派生类独立地使用自己的基类副本(比如基类中有属于自己类的静态变量等)。
#include
class Person
{
public:
person() {cout
~person() {cout
};
class Student:p...
分类:
编程语言 时间:
2014-07-02 07:50:53
阅读次数:
270