广州外贸网站信息,企业网站建设原则是( ),英语教学网站建设意见,微信网页版不显示二维码1、为什么构造函数不能是虚构造#xff1f; 虚函数对应一个虚表vtale#xff0c;这个表的地址是存储在对象的内存空间的。如果将构造函数设置为虚函数#xff0c;就需要到虚表中调用#xff0c;但这时候对象没有实例化#xff0c;没有内存分配#xff0c;虚表就不存在 虚函数对应一个虚表vtale这个表的地址是存储在对象的内存空间的。如果将构造函数设置为虚函数就需要到虚表中调用但这时候对象没有实例化没有内存分配虚表就不存在故构造函数不能为虚函数。 2、重载和重写的区别 1、重载指得是同一 水平区域内例如类内有多个同名函数这些函数的参数列表不同重载是在编译时绑定对象的是静态多态。 2、重写指得是垂直区域例如父子类父类将函数定义为虚函数子类重新定义函数体父子类的函数名、参数列表是同样的。重写是在运行时绑定对象的是动态多态。 3、公有继承、私有继承、受保护继承 1、公有继承派生类对象可以访问基类中的公有成员派生类的成员函数可以访问基类中的共有和受保护成员 2、私有继承基类的成员只能被直接派生类的成员访问无法再往下继承 3、受保护继承基类的成员只能被直接派生类的成员访问无法再往下继承。 4、如何阻止一个类被实例化 1、将类定义为抽象类或则将构造函数私有化 2、不允许类外部创建类对象只能在类内部创建对象。 5、堆和栈的区别 1、申请方式不同。栈上的内存是操作系统自动分配和释放的堆上的内存是由程序员申请和释放的申请时需要指定内存大小 2、栈的内存地址是从高到低扩展的内存区域是连续的大小有限堆的内存地址是从低到高扩展的是不连续的内存区域空间相对大且灵活 3、栈由系统分配和释放速度快堆由程序员控制一般较慢且易产生碎片。 6、C函数中值传递有哪几种 引用传递、值传递、指针传递 7、字符数组和字符串的差异? 字符串会在末尾自动添加‘\0’比字符数组多一个字符长度。 8、类使用static成员的优点如何访问 1、static成员的名字是在类的作用域中因此可以避免与其他类的成员或全局对象名字冲突 2、可以实施封装。static成员可以是私有成员而全局对象不可以 3、static成员是与特定类关联的可清晰地显示程序员地意图 4、static数据成员必须在类定义体外部定义 5、static成员不是通过类构造函数进行初始化也不能在类地声明中初始化而是应该在定义时进行初始化。 9、如何引用一个已经定义过地全局变量 可以引用头文件的方式也可以用extern关键字。如果用引用头文件的方式来引用某个在头文件中声明的全局变量假定你将那个变量写错了那么在编译期间会报错如果用extern方式引用时如果将变量写错了编译期不会报错而是在连接时报错。 10 何为友元 1、有些私有属性也想让类外特殊的一些函数或者类访问就用到了友员 2、友元函数、友员类 3、友员不是类的一部分 4、友员不受类中访问级别的限制 5、友员关系不能被继承友员关系是单向的不具交换性。