摘要:
多态:静态多态,动态多态 静态多态:函数重载、运算符重载 动态多态:派生类和虚函数实现运行时多态 静态多态与动态多态的区别: 静态多态的函数地址早绑定-编译阶段确定函数地址 动态多态的函数地址晚绑定-运行阶段确定函数地址 多态满足条件:有继承关系 子类重写父类的虚函数 多态使用条件:父类指针或引用指 阅读全文
摘要:
菱形继承会存在多份数据的问题,使用虚继承解决问题 虚基类指针vbptr #include <iostream> class Animal{ public : int m_Age; }; class Sheep:virtual public Animal{ public: Sheep(){ std:: 阅读全文
摘要:
#include<iostream> class Base{ public: Base(){ m_A=100; } void func(){ std::cout<<"base func"<<std::endl; }; int m_A; }; class Son:public Base{ public 阅读全文
摘要:
#include <iostream> using namespace std; class Monster { public: Monster(); Monster(char * name,int hp,float speed); ~Monster(); Monster(Monster &obj) 阅读全文
摘要:
多态分为两类:静态多态,动态多态 静态多态:函数重载、运算符重载 动态多态:派生类和虚函数实现运行时多态 静态多态:函数地址早绑定-编译阶段确定函数地址 动态多态:函数地址晚绑定-运行阶段确定函数地址 C++允许父类与子类的类型转换,不用作强制类型转换。 #include <iostream> cl 阅读全文
摘要:
#include<iostream> using namespace std; class Person{ public: Person(){ cout<<"无参构造函数!"<<endl; } Person(int age,int height){ m_Age=age; m_Height=new i 阅读全文
摘要:
cmake_minimum_required(VERSION 3.0.0) project(day2_ptr) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fsanitize-recover=address -fno-sta 阅读全文
摘要:
gdb调试向main函数传入参数 #调试book119程序 gdb book119 # 传入参数 /hellobook1.c /tmp/book2.c (gdb) set args /hello/book1.c /tmp/book2.c 阅读全文
摘要:
查看进程编号 ps -ef|grep 进程 gdb 调试正在运行的进程,book1 进程名, 21495进程id # 获取进程ID gdb book1 -p 21495 查看函数调用栈 # 查看函数调用栈 bt 阅读全文
摘要:
gdb调试多线程程序 # 查看进程book ps aux |grep book # 查看线程 book ps -aL| grep book 在gdb中执行 # 查看线程数 info threads # 切换线程 thread thread_id # 只运行当前线程,其他线程挂起 set schedu 阅读全文