C++面试复习 笔记二

该博客围绕C++展开,介绍了数组元素的排序,提及C++标准库中的三种容器类型vector、deque、list,还阐述了const成员函数只能访问不能修改成员变量且不能调用非const成员函数,以及static静态成员在编译时创建初始化、所有对象共享且需在类外部初始化的特性。

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;

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值