当前位置: 首页 > news >正文

百度推广网站大气网站源码下载

百度推广网站,大气网站源码下载,wordpress doc插件,南通网站公司网站重载和重写的区别 重载是overload#xff0c;覆盖是override 重载属于编译时多态#xff0c;覆盖属于运行时多态 运行时多态和编译时多态 运行时多态指的是在运行的时候才知道要调用哪一个函数#xff0c;编译时多态是指在编译的时候就知道调用哪一个函数。 运行时多态…重载和重写的区别 重载是overload覆盖是override 重载属于编译时多态覆盖属于运行时多态 运行时多态和编译时多态 运行时多态指的是在运行的时候才知道要调用哪一个函数编译时多态是指在编译的时候就知道调用哪一个函数。 运行时多态 可以使得父类指针调用子类函数当然子类指针也可以调用父类函数 #include iostreamclass Base { public:virtual void show() { std::cout Base class std::endl; } };class Derived : public Base { public:void show() override { std::cout Derived class std::endl; } };int main() {Base* ptr;Derived obj;ptr obj;ptr-show(); // 调用 Derived::show()发生运行时多态 } by the way如果代码不慎写为了这样编译器也不会报错而是友善提示 函数 ‘show’ 从类 ‘Base’ 中隐藏了一个非虚拟函数 #include iostreamclass Base { public:void show() { std::cout Base class std::endl; } };class Derived : public Base { public:void show() { std::cout Derived class std::endl; } };int main() {Base* ptr;Derived obj;ptr obj;ptr-show(); // 调用 Derived::show()发生运行时多态 }因为在C 规定如果子类定义了与基类同名的函数则基类中的所有同名函数都会被隐藏即使参数列表不同。 那如果有一个需求首先满足Derived类继承了Base同时有自己的show函数参数列表和Base不一样因此单纯的override是不行的可以在Derived类里添加一句using Base::show;即可。 class Base { public:virtual void show() { std::cout Base class std::endl; } };class Derived : public Base { public:using Base::show;void show(int a) { std::cout Derived class a std::endl; } };int main() {Derived* ptr; //注意这里变为了Derived*Derived obj;ptr obj;ptr-show();ptr-show(1); }如果有对多态学术不精只记得在虚函数的加持下可以使得父类指针访问子类函数而将上述代码写为了 Base* ptr; Derived obj;ptr obj;ptr-show();ptr-show(1);代码是不会通过检查的因为父类指针可以调用子类的函数但前提是 这个函数必须在父类中声明为 virtual这样才能实现运行时多态动态绑定。 虽然我们在父类里有show()这个函数但show(int) 不是 Base 类的虚函数所以 Base* 看不到 Derived 里的 show(int)导致编译错误。 编译时多态 特点 同一作用域内多个函数同名但参数列表不同参数个数或类型不同。在编译时根据函数调用的参数选择具体的函数编译器做“名字修饰Name Mangling”处理。不会引发运行时开销函数的匹配完全在编译阶段完成。 继承 公有继承 class Base { public:int a; protected:int b;private:int c; };class Derived : public Base {void print(){coutb;} };int main() {Derived* ptr;Derived obj;ptr obj;cout ptr-a; }基类的 public 变成 publicprotected 变成 protectedprivate 仍然是 private。 保护继承 基类的 public 和 protected 变成 protectedprivate 不可访问。 私有继承 private私有继承基类的 public 和 protected 变成 privateprivate 不可访问。 多继承下的菱形继承 sizeof 虚函数的size 输出的结果为 这是因为虚函数引入了虚表因此需要额外存储一个虚表指针64位系统下size 8B。 如果再加上一个int则为16需要做到对齐因此还补了4B 多继承的情况下 输出结果为16因为继承了A和B因为有两个虚指针 普通函数的size 普通函数size 1 struct的size struct也要遵循内存对齐对齐原则是结构体或类的整体大小必须是其最大对齐数的整数倍最大成员的对齐值 因此比如 因为char[]里有一个’\0’因此size是6 指针与引用 先来个很经典的题 void GetMemory1(char* p){p (char*)malloc(100); } void Test1(void){char* str NULL;GetMemory1(str);strcpy(str,hello);printf(str); }int main() {Test1(); }这样会导致程序直接崩溃原因是GetMemory1传入的函数是指针。注意这里进行的是值传递也就是说我们传入的是str的复制值因此在GetMemory1里修改p对外面的str没有一点用处。 那么如何修改呢只需要将GetMemory的参数改为指针的引用 or 指针的指针即可 指针的引用版 void GetMemory1(char* p){p (char*)malloc(100); } void Test1(void){char* str NULL;GetMemory1(str);strcpy(str,hello);printf(str); }int main() {Test1(); }指针的指针版 void GetMemory1(char** p){*p (char*)malloc(100); } void Test1(void){char* str NULL;GetMemory1(str);strcpy(str,hello);printf(str); }再来个题目 char* GetMemory2(){char p[] hello;return p; } void Test2(){char* str NULL;str GetMemory2();printf(str); }这会导致系统崩溃因为 char p[] “hello”; 是一个局部数组存储在栈上。 当 GetMemory2() 结束后p 变量的生命周期结束它所在的栈内存可能被覆盖或释放。 str GetMemory2(); 让 str 指向了这块无效的内存。 printf(str); 试图访问这块无效的内存导致未定义行为Undefined Behavior可能程序崩溃。 但如果我们修改为此时内存被分配到堆上就不会报错了。注意还需要对应的free char* p (char*)malloc(100);
http://www.hkea.cn/news/14486233/

相关文章:

  • aspnet网站建设爱南宁app下载
  • 做外贸服饰哪个个网站好中国网站优化哪家好
  • 宜昌做网站要什么条件多久可以做网站
  • 外贸型网站推广与监测做网站的花费
  • 医院网站素材十堰建设网站
  • 莱芜网站优化排名公司科技小发明小制作大全 小学生
  • 互动网站欣赏二维码制作工具网页
  • php做动漫网站艺术字体转换器在线转换器
  • 黄岩区建设规划局网站网络营销专业介绍及就业方向
  • 兰州网站建设兼职安陆网站
  • 小吃网站建设规划书wordpress采集新浪博客
  • 网站开发的基本流程图1688关键词排名查询
  • 韩国游戏网站设计网站建设的税率
  • 做网站是三网合一有什么优势wordpress the_tag
  • 做公司网站的总结企业网站的建设目的是什么
  • 公司网站如何维护上海建设三类人员网站
  • 网站后台传不了图片如何查看小程序的开发公司
  • 南沙做网站要多少钱wordpress文章多个分类显示
  • 大型公司网站建设网站大气是什么意思
  • 用卫生纸做的礼物街网站wordpress如何管理员密码
  • wordpress怎么获取数据库网站html标签如何优化
  • 浙江网站建设制作流程怎么创建微信小程序店铺
  • 北京移动网站建设公司价格邵阳住建部网站
  • 黄冈网站建设公司制作网站江苏永坤建设有限公司网站
  • 自己开个公司做网站网站建设销售还能做吗
  • 网站转化怎么做前端做视频直播网站
  • 漯河网站推广公司济南专业做网站公司
  • 装修 设计 网站轴承 网站建设 企炬
  • 做一个中英文双语网站建设多少钱注册国际贸易公司需要多少钱
  • 网站建设pdf 下载中山网站的优化