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

1、C++特点

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;

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

封装

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

继承

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

多态

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

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

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

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;

}

9、this指针

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

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

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

Student *stud1 = new Student();

delete stud1;

11、纯虚函数

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

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

12、const

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