4. 数组
数组元素的排序
bool sortArr(int *arr, int n)
{
int iCurIndex = 0;
while(iCurIndex < n)
{
for(int i = iCurIndex + 1; i < n; i++)
{
int tmp = arr[iCurIndex];
if(arr[iCurIndex] < arr[i])
{
arr[iCurIndex] = arr[i];
arr[i] = tmp;
}
}
iCurIndex++;
}
}
5. 容器和迭代器
C++标准库中的容器类型有三种vector,deque,list
std::vector<int> vec;
for(int i = 0; i < 5; i++)
{
vec.push_back(i);
}
std::cout<<"vec元素的个数为:"<<vec.size()<<std::endl;
int a[6] = {6,7,8,9,10,11};
std::deque<int> de(a, a+6);
std::cout<<"deque元素的个数为:"<<de.size()<<std::endl;
//初始化为3个元素,且值都为5
std::list<int> l(3, 5);
std::list<int>::iterator itr = l.begin();
while(itr != l.end())
{
std::cout<<*itr<<std::endl;
itr++;
}
6. const 成员函数
const修饰的成员函数只能访问类的成员变量,不能修改成员变量,且不能调用另一个非const的成员函数
class Point
{
private:
int x;
int y;
public:
int addXY() const;
int GetX();
};
int Point::addXY() const
{
//x = 10;
//int a = GetX()
return x+y;
}
int Point::GetX()
{
return x;
}
7. static静态成员
在编译时就被创建并初始化,所有的类对象共享,其初始化必须在类的外部
class Computer
{
private:
float price;
public:
static float totalPrice;
public:
Computer(float p)
{
price = p;
totalPrice += price;
}
~Computer()
{
totalPrice -= price;
}
};
int main()
{
Computer c1(4999);
std::cout<<"总价格为:"<<c1.totalPrice<<std::endl;
Computer c2(7000);
std::cout<<"总价格为:"<<c2.totalPrice<<std::endl;
Computer c3(3000);
std::cout<<"总价格为:"<<c3.totalPrice<<std::endl;
c3.~Computer();
std::cout<<"总价格为:"<<c3.totalPrice<<std::endl;
system("pause");
return 0;
}