cocos2d-x学习笔记(一)C++基础知识

以下内容为部分C++基础知识点:

1C++特点

C++是在C语言的基础上发展来的,但是并不是C++比C语言高级,两者的编程思想不一样,应用的领域也不一样。在各自的领域,谁也不能替代谁。C++相对于C主要有如下特点:

类型检查更为严格

增加了面向对象的机制

增加了泛型编程的机制

增加了异常处理

增加了运算符重载

增加了标准模板库(STL)

2、数据类型

  • 基本类型:整型、浮点型、char类型和布尔型bool。
  • 派生类型:指针类型(*)、枚举类型(enum)、数组类型([])、结构体类型(struct)、联合类型(union)、类类型(class)。
  • 空类型为void。

3、枚举类型(enum

定义常量,三种定义方法:

方法 1:

enumDirection

{

UP,DOWN,LEFT,RIGHT

};

方法 2:

enum

{

UP,DOWN,LEFT,RIGHT

}Direction;

方法3:

typedefenum

{

UP,DOWN,LEFT,RIGHT

}Direction;

4、联合类型(union

联合类型允许以不同的数据类型访问相同的内存,因为他们实际上实在内存中的相同位置

unionSutdent

{

const char *name;

int age;

}s;

5C++面向对象的三个基本特征是

  • 封装

封装,也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。

  • 继承

继承是指这样一种能力:它可以使用现有类的所有功能,并在无需重新编写原来的类的情况下对这些功能进行扩展。

  • 多态

实现多态,有二种方式,覆盖,重载。

覆盖,是指子类重新定义父类的虚函数的做法。

重载,是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。

6、类声明

class Student

{

Int age;  //成员变量

string name;

char sex;

public:

void display();      //声明成员函数

};

voidStudent::display()

{

cout<<”age:”<<age<<endl;

cout<<” name:”<< name <<endl;

cout<<” sex:”<< sex <<endl;

}

7、访问限定符

private:private所限定的成员,只能被这个类本身访问,默认为private。

public:public的成员,可以被所有的类访问。

protected:protected声明的成员成为受保护的成员,不能被类外访问,但可以被派生类的成员函数访问。

8、静态成员

静态函数只能访问静态成员变量,不能访问实例成员变量。

而实例函数能够访问:实例变量和静态变量。

静态变量和函数可以通过类::静态变量(或静态函数)访问,也可以通过对象.静态变量(或静态函数)访问。

class Account

{

private:

string owner;

public:

static double interestRate;//汇率

static double getInterestRate()

{

return interstRate;

}

}

doubleAccount::interestRate = 0.514;

intmain()

{

doublerate1 = Account::interestRate;

double rate2 = Account:: getInterestRate();

Account account1 = Account();

doublerate3 = account1. getInterestRate();

return0;

}

9this指针

指向本类对象的指针,这个指针被称为this。

10、对象的动态建立和释放

使用new算符动态建立对象,用delete运算符销毁对象。

Student *stud1 = new Student();

delete stud1;

11、纯虚函数

在基类中声明,但是没有定义的虚函数,而且设置函数值等于零。纯虚函数的定义格式为:

virtual <函数类型><虚函数名称> ( <参数列表> ) =0

12const

C++ const 允许指定一个语义约束,编译器会强制实施这个约束,允许程序员告诉编译器某值是保持不变的。如果在编程中确实有某个值保持不变,就应该明确使用const,这样可以获得编译器的帮助。

时间: 2024-10-12 17:34:05

cocos2d-x学习笔记(一)C++基础知识的相关文章

APUE 学习笔记(一) Unix基础知识

1. Unix 体系结构 内核的接口被称为系统调用 公用函数库构建在系统调用接口之上 应用软件既可以调用公用函数库,也可以直接进行系统调用 2. 文件和目录 目录操作函数:opendir---> readdir---> closedir struct dirent 结构体 stat 系统调用 3.程序.进程.线程 程序:存放在磁盘上.并处于某个目录中的一个可执行文件.使用exec系列函数将程序从磁盘读入存储器,并使其执行 进程:程序的执行实体.进程控制的3个函数:fork.exec.waitp

学习笔记-《Linux基础知识之挂载详解(mount,umount及开机自动挂载)》

<Linux基础知识之挂载详解(mount,umount及开机自动挂载)>来源:Linux社区  作者:chawan 原文链接 http://www.linuxidc.com/Linux/2016-08/134666.htm 以下是学习作者这篇文章做的一些摘要及学习体会. 重要概念(经典原文引述) 挂载概念简述: 根文件系统之外的其他文件要想能够被访问,都必须通过"关联"至根文件系统上的某个目录来实现,此关联操作即为"挂载",此目录即为"挂载点

【 学习笔记 】memcached基础知识

源地址:http://kb.cnblogs.com/page/42731/ 仔细学习了下,以下是记录的笔记备忘内容. 一.memcached是什么?    memcached是高性能的分布式内存缓存服务器.    一般使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态web应用的速度.提高可扩展性 memcached的特征:        1. 协议简单        2. 基于libevent的事件处理        3. 内置内存存储方式        4. memcache

libevent学习笔记 一、基础知识

欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/46485705 一.libevent是什么 libevent是一个轻量级的开源的高性能的事件触发的网络库,适用于windows.linux.bsd等多种平台,内部使用select.epoll.kqueue等系统调用管理事件机制. 它被众多的开源项目使用,例如大名鼎鼎的memcached等. 特点: 事件驱动,高性能; 轻量级,专注于网络(相对于ACE); 开放源码

【学习笔记】Linux基础知识

Linux的基本原则 1.由目的单一的小程序组成:组合小程序完成复杂任务: 2.一切皆为文件: 3.尽量避免捕获用户接口: 4.配置文件保存为纯文本格式: GUI接口: CLI接口: 命令提示符:prompt,bash(shell) #:root $:普通用户 命令: 命令格式: 命令 选项 参数 选项: 短选项:- 多个选项可以组合:-a -b = -ab 长选项:-- 参数:命令的作用对象(多个参数间用空格隔开) 使用凭证: linux系统严格区分大小写 虚拟终端(terminal):Ctr

Spring基础学习笔记-Bean的基础知识

一. Bean的定义,初始化,使用和销毁 二.ref指定依赖的三种模式 三.Bean的五种自动装配模式(autowire) 四.Bean依赖检查的4种模式:配合atuowire使用,dependency-check="" 五.集合的注入方式 六.管理Bean config.xml文件<!--Bean的配置文档--><!--首先定义为XML的方式来存储Bean的配置--><?xml version="1.0" encoding="

Java学习笔记一(基础知识)

1  java基本概念 JDK  java  develop Kit   Java开发环境,三种版本J2SE(主要用与桌面和小程序的开发).J2EE(主要用户企业级的开发).J2ME(主要用于手持设备的开发) Jre  Java run environment Java运行环境, 2 java的基本特点 1)简单:java的编程风格类似C++.除去C++中容易产生错误指针,结构,枚举等.封装了很多类库. 2)面向对象的:完全面向对象的,支持继承.重载.多态等机制 3)健壮性:检查程序在编译或者运

Redis学习笔记之入门基础知识——其他特性

1.订阅(subscribe)与发布(publish) 用户订阅某一个频道,频道发布新的信息时,会将信息告知用户 2.数据安全 1)     快照持久化(时间点转储,实质是数据副本) 操作:SAVA.BGSAVE(后台子进程SAVE) 功能:服务器会保存最近一次完成创建的快照的数据,注意,在创建快照的过程中的操作不会保存在快照中 SAVE seconds times:从上一次快照创建完成到seconds秒的时间内,如果有times次写入,那么会在seconds秒后执行一次BGSAVE,将数据写入

MySQL学习笔记01_数据库基础知识

01_1 mysql数据库启动与停止 以<管理员权限>启动cmd: 输入net stop mysql停止mysql服务: 输入net start mysql启动mysql服务: 输入mysql -u root –p回车,然后输入密码进入到mysql的操作系统,并具有root权限: 在命令提示符窗口使用services.msc查看mysql服务的状态. 01_2 数据库的简单介绍 按照数据库的发展时间顺序,主要出现了以下类型数据库系统: 网状型数据库 层次型数据库 关系型数据库 面向对象数据库

学习笔记-Linux系统基础知识2

shell GUI :graphic User Interface x-window CS架构 Gnome KDE Xface CLI: Command Line Interface sh bash csh ksh zsh tcsh dll: Dynamic Link Library .so: shared object login: 用户名:用户ID 认证机制: Authentication 授权:Authorization 审计:Audition(日志) prompt:命令提示符 命令: m