c++的语句有循环语句:for、while、do-while;选择语句:switch;单分支语句:if等。c++的头文件是#include<iostream>,cin是c++的标准输入,cout是c++的标准输出,c++中有另外一种字符串定义:string str。
c++中动态内存的释放一般使用new和delete这一对运算符。
new: int *p;p = new int;
前后的数据类型要一致,如果申请成功,返回分配好的内存空间的首地址给指针,分配一个4字节的内存空间(因为int型是4字节)。对应的delete操作就是:delete p;
new:
int *p;
p = new int[50];
分配了50个4字节的内存空间存放int数据;对应的delete操作就是:delete[] p。
using namespace std;这句代码表示使用std命名空间,因为c++的标准库的内容都被定义在std空间。namespace中文意思是命名空间或者叫名字空间,传统的C++只有一个全局的namespace,但是由于现在的程序的规模越来越大,程序的分工越来越细,全局作用域变得越来越拥挤,每个人都可能使用相同的名字来实现不同的库,于是程序员在合并程序的时候就会可能出现名字的冲突。namespace引入了复杂性,解决了这个问题。namespace允许像类,对象,函数聚集在一个名字下。本质上讲namespace是对全局作用域的细分。
name NA
{
void print()
}
name NB
{
void print()
}
int main()
{
NA::print();
NB::print();
return 0;
}
c++的类
class struct student
{
public:
char *name;
int age;
void print()
};
如果在类的定义中既不指定private,也不指定public,则系统就默认为是私有的。
被声明为私有的(private)成员,只能被本类中的成员函数引用,类外不能调用(友元类除外)。
被声明为公用的(public)成员,既可以被本类中的成员函数所引用,也可以被类的作用域内的其他函数引用。
用protected声明的成员称为受保护的成员,它不能被类外访问(这点与私有成员类似),但可以被派生类的成员函数访问。
c++函数的重载:
允许同名函数的存在,但是形参个数不同;或者形参个数相同,形参类型不同;或者形参个数和类型都不同。
int max(int, int);
double max(double, double);
int max(int, int, int);
在c++中存在带默认值的参数。
如果一个函数既有声明又有定义时,不允许有默认值;但是函数只有定义时,可以存在默认值并且默认值必须从左向右定义,中间不能有间隔。
int max(int a, int b = 1, int c = 2)
int max(int a = 0, int b = 1, int c = 2)
//这个定义是对的
int max(int a = 0, int b, int c = 2)
int max(int a = 0, int b = 0, int c)
//这个定义是错的
切记:默认值在main函数中可以被重新指定。