如何快速制作一个易于管理的PHP图片网站源码?
摘要:什么静态网站容易做,php图片网站源码,下载拼多多app免费下载,网址怎么注册C面试题 1 菱形继承 2 多态 多态实现原理: 静态多态 动态多态 静态多态: 依赖函数重载&
什么静态网站容易做,php图片网站源码,下载拼多多app免费下载,网址怎么注册C面试题
1 菱形继承
2 多态
多态实现原理#xff1a; 静态多态 动态多态 静态多态#xff1a; 依赖函数重载#xff0c;编译期确定。 函数重载#xff1a;允许在同一作用于内声明多个功能类似的同名函数#xff0c;函数列表不同。注意#xff1a;不能仅通过返回值类型…C面试题
1 菱形继承
2 多态
多态实现原理 静态多态 动态多态 静态多态 依赖函数重载编译期确定。 函数重载允许在同一作用于内声明多个功能类似的同名函数函数列表不同。注意不能仅通过返回值类型确定重载函数模板也是其中之一。 原理1 函数名修饰2 编译过程预编译 把头文件当中的函数声明拷贝到源文件避免编译过程中的语法分析找不到函数定义* 编译 语法分析同时进行符号汇总函数名* 汇编 生成函数名到函数地址的映射方便通过函数名找到函数定义位置链接 将多个文件中的符号表汇总合并objdump -t *.o // _Zn 类长度 类名 函数名长度 函数名 E 类型首字母动态多态 虚函数重写运行期确定 在基类的函数名前加virtual关键字在子类中重写 override 运行时将根据对象的类型调用相应的函数 如果对象的类型是基类则调用基类函数反之若是派生类则调用派生类函数
原理早绑定编译期已确定对象调用的函数地址晚绑定若类使用virtual函数则会为类生成虚函数表一维数组存放虚函数地址类对象构造时会初始化该虚表指针虚函数表指针在构造时初始化3 override/final
c11引入这两个关键字
原因 虚函数重写 不能阻止某个虚函数进一步重写 本意写一个心函数错误重写基类虚函数子类中virtual关键字可省略 本意重写基类虚函数但是签名不一致在子类中重新构建了一个新的虚函数
类继承不能阻止某个类进一步派生override 指定子类一个虚函数复写基类的一个虚函数 保证该重写的虚函数与基类的虚函数具有相同的签名
final 指定某个虚函数不能在派生类中被覆盖或者某个类不能被派生 阻止类进一步派生 阻止虚函数进一步重写
4 类型推导
类型 模板方法中模板参数类型的推导 auto decltype (都是c11引入其中auto的类型推导是c引入)
原因 c是强类型语言 编译器来处理类型推导 提升语言的编码效率
关键字 auto 原理用于推导变量的类型通过强制声明一个变量的初始值编译器会通过初始值进行推导类型。
