cocos2d-x学习笔记(一)C++基础知识
更新:HHH   时间:2023-1-7


以下内容为部分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、访问限定符

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

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

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

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,这样可以获得编译器的帮助。

 


返回游戏开发教程...