c++
一姜功成万骨枯2016
疯魔 ~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c++中不能被声明为虚函数的函数
普通函数 只能被重载,编译器在编译时绑定函数 静态成员函数 静态属于类级别的修饰,不存在对象运行时动态绑定 内联成员函数 内联函数也是编译时展开的的函数,和虚函数的动态绑定矛盾 构造函数 对象还没创建,虚表指针还没形成,无法使用virtual 友元函数 有缘函数不支持继承关系,所以没有虚 ...原创 2020-05-22 15:20:17 · 156 阅读 · 0 评论 -
c++标准库能继承吗
不推荐,千万不要用! 因为STL这些容器都没有虚析构函数!子类就有不能被析构的风险!原创 2020-05-22 15:06:47 · 341 阅读 · 0 评论 -
c++ 多态之覆盖、重载、隐藏
多态:“一个接口,多种方法”。原创 2016-08-04 19:17:42 · 251 阅读 · 0 评论 -
虚基类的作用
B和C都继承A,D继承B,又继承C,如下图: 普通继承中,每继承一次就保留一份间接基类,而虚继承只保留一份! class A { public: int i; void showa(){cout<<"i="<<i<<endl;} }; class B:virtual public A //此处采用虚继承 { public: i原创 2016-08-05 14:03:49 · 450 阅读 · 0 评论 -
c++ 构造函数初始化列表,构造函数的调用顺序
列表初始化要比赋值初始化效率高,养成好习惯使用初始化列表哟 !而且对于const修饰的变量和引用型变量必须用这种方式初始化 列表初始化的顺序: 初始化的顺序与列表中书写的顺序无关,与继承的顺序(不写父类初始化说明调用了默认构造函数)和变量声明的顺序相同!! 派生类构造函数的调用次序:(先虚基类,后基类,再成员对象,最后自身) (1)对虚基类间的构造函数的顺序:根据虚基类间继原创 2016-08-05 17:00:28 · 752 阅读 · 0 评论 -
c++ 继承子类的sizeof
都需要对齐! 普通继承:基类大小+非static成员变量大小 普通继承(带有虚函数):注意有一个虚表指针即可,无论有多少继承,只有一个虚表! 虚继承:经典的菱形继承 ABCD,sizeof(D)=sizeof(B)+sizeof(C)- sizeof(A) +sizeof(D类的成员大小) 写的简略,不懂得可以问原创 2016-08-16 18:47:25 · 856 阅读 · 3 评论
分享