【实习】面试和笔试中出现过的C++考点总结 ( 1 )

来源:互联网 发布:淘宝真皮女包店 编辑:程序博客网 时间:2024/04/29 22:41

最近都在找实习,报过的公司有华为,腾讯,阿里等,为了方便自己复习,还是总结一下遇见过的只是点吧。

一、数组、指针、字符串

  • 1.指针的自增操作
  • void main(){    char* a[ ] = { "hello", "the", "world"};    char** pa = a;    pa++;    cout << *pa << endl;}

    【答案】:the

  • 2. 字符串的终止符问题
  • std::string str="ab\0cd";cout<<str<<endl;

    【答案】:输出结果应该是ab

    sizeof("abcde") 值是多少

    【答案】:6

  • CString函数
  • char *p1= “123”, *p2 = “ABC”;strcat(p1,p2);cout << p1;

    【答案】 123ABC

    二、 面向对象相关

  • 1. 动态绑定的概念
  • 通过基类的引用或者指针调用虚函数发生动态绑定
  • 2.虚函数和纯虚函数
  • 虚函数是基类希望派生类自己重新定义的函数,而不是从这里继承。但是虚函数可以在基类中实现。
    纯虚函数不能在基类中实现,具体的是在后面写=0;
    拥有纯虚函数的类,叫做抽象类,不能创造实例。
    如果一个类继承了这个抽象类,但是没有实现这个虚函数,他还是抽象类。
  • 3.析构函数和构造函数
  • 在有动态分配堆上内存的时候,析构函数必须是虚函数。
    (具体概念略)
  • 4.重载,覆盖,隐藏
  • 【重载】:
    同名函数,不同参数
    【覆盖】:
    子类的方法覆盖了基类的方法,以实现不同的功能,或者对父类的功能进行扩充
    强制调用使用虚函数的特定版本,利用域操作符

    double d = baseP->Base::price();

    【隐藏】:
    隐藏,隐藏是派生类的函数屏蔽了与其同名的基类函数

    0 0