以下内容为部分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,这样可以获得编译器的帮助。