1.C++语言
2.算法1.1.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
1.2.static有什么用途?(至少说明两种)
1.3.从实现原理上来说重载(overload)和重写(override)的区别?
1.4.试述动态内存分配和静态内存分配的主要区别
1.5.C++语言中的浮点数组的内存如何静态分配和释放,语法上有何要求?
1.6.下面代码能否通过编译?如果可以,其输出结果是什么?同时解释原因.
1.7. 试写出派生类对象初始化时构造函数的调用顺序,以及派生类对象被删除时,析构函数的调用顺序。(即基类和派生类哪个先调用)#include <iostream> class A { public: virtual void f() { std::cout<<"A::f()";} }; class B:public A { public: void f() { std:cout<<"B::f()";} void g(A *a) { std:cout<<"B::g(A *)";} void g(B *b) { std:cout<<"B::g(B *)";} }; int main() { A *x = new A; A *y = new B; B *z = new B; x->f(); y->f(); z->f(x); z->f(y); }
1.8.试述struct和class的区别
1.9.什么是多态?多态有什么好处?
1.10.什么是内联函数,在什么情况下应该考虑使用内敛函数?它有什么代价?
1.11.用C++编程实现将表示十进制整数的字符串转换成表示十六进制整数的字符串:比如“168” —> "0xA8"。注意输入输出都是字符串。