cocos2dx3.2 从引擎中学到的一招,创建新类,构造函数和虚析构函数都应该是保护类型
来源:互联网 发布:excel表格数据相乘 编辑:程序博客网 时间:2024/05/12 01:09
#include <iostream>
#include <vector>
using namespace std;
class Node
{
public:
static Node* create();
void autorelease();
protected:
Node();
virtual bool init();
virtual ~Node();
};
voidNode::autorelease()
{
delete this;
}
Node*Node::create()
{
auto sp = new Node();
if(sp && sp->init())
{
}
else
{
delete sp;
}
return sp;
}
Node::Node()
{
}
Node::~Node()
{
cout << "the Node is destructed" << endl;
}
bool Node::init()
{
return true;
}
class Player :public Node
{
public:
static Player* create();
protected:
Player();
virtual ~Player();
virtual bool init();
};
Player::Player()
{
}
Player::~Player()
{
cout << "the player is destructed" << endl;
}
Player* Player::create()
{
auto sp = new Player();
if(sp && sp->init())
{
}
else
{
delete sp;
}
return sp;
}
bool Player::init()
{
return true;
}
int main()
{
auto sp = Player::create();
sp->autorelease();
return 0;
}
结果输出:
the player is destructed
the Node is destructed
Program ended with exit code: 0
- cocos2dx3.2 从引擎中学到的一招,创建新类,构造函数和虚析构函数都应该是保护类型
- 处理CFormView类 -- 保护类型的构造函数和Create函数(讨厌的东西!!!)
- 处理CFormView类 -- 保护类型的构造函数和Create函数(讨厌的东西!!!)
- 将构造函数,析构函数声明为私有和保护的,那么对象如何创建?
- 将构造函数,析构函数声明为私有和保护的,那么对象如何创建?
- 从对象创建 到构造函数以及原型对象(prototype的使用,属性的共享)
- 三、从C到C++(三)内联函数、内联函数的处理和限制、C++中新的类型转换符
- 一:类的创建和销毁__静态工厂替代构造函数
- 从创建四家技术公司中学到的事情
- 从创建四家技术公司中学到的事情 .
- 从一小段代码看构造函数和析构函数的调用
- day04 C++构造函数和初始化、对象创建和销毁、类型转换构造函数、拷贝构造函数
- 建议在设计C++类时提供默认构造函数,这应该是个好的习惯
- 5.2.2 元组类型和值的构造函数
- 从生活中学到的
- 从dota中学到的
- 从面试中学到的
- Cocos2dx3.2从零开始【一】Cocos2d-x 3.2项目创建和编译,移植到Android
- 第五章《树和二叉树》思维导图
- 滚动延迟加载数据
- 简单JSP代码,
- GetLastError
- 第一部分 基础篇 第二章 安装MongoDB
- cocos2dx3.2 从引擎中学到的一招,创建新类,构造函数和虚析构函数都应该是保护类型
- 新MAC OS X 配置总结
- 为什么要审核?
- [Cordova学习]3.Cordova自己插件的作成步骤
- word排版程序代码
- 离开昨日的苍桑,珍惜今日,奋斗明日的辉煌
- 使用 Codec Engine 的 API 函数(四)
- 类的继承方式对子类对外访问属性影响,赋值兼容性原则
- 一起学android之ArrayAdapter使用(12)