c++子类中初始化父类成员变量
2015-09-30 17:03
549 查看
今天在看源码遇到一个问题,刚开始没看明白,后简化为如下代码:
一眼看去,在子类的构造函数中似乎是构造了一个父类的匿名变量,但运行后发现实际做的是初始化了父类的成员变量。
#include <iostream> typedef void (*func_type)(void); class A{ public: A(func_type func){ func_ = func; }; void dofunc(){ func_(); } func_type func_; }; class B:public A{ public: B(): A(&B::dofunc1){ } static void dofunc1(){ std::cout<<"do func"<<std::endl; } }; int main() { B b; b.dofunc(); }结果:
一眼看去,在子类的构造函数中似乎是构造了一个父类的匿名变量,但运行后发现实际做的是初始化了父类的成员变量。
相关文章推荐
- 【c++ templates读书笔记】【5】模板实战
- C语言中数组下标可以为负数
- C语言printf()函数:格式化输出函数
- 如何将std::string转int,double? (C/C++) (C) (template)
- Majority Element II leetcode 229
- c++笔记08---I/O 流,格式化 I/O,非格式化 I/O,随机 I/O,二进制 I/O
- c++笔记07---纯虚函数和抽象类/纯抽象类,虚函数表和动态/后期绑定
- c++笔记06---继承,公有继承,继承方式对访控属性的影响,私有继承和保护继承
- c++笔记05---双目运算符,单目操作符,下标操作符,函数操作符,解引用
- c++笔记04---构造拷贝函数,拷贝赋值运算符函数,静态成员变量
- c++笔记03---构造函数,初始化表,文件分类,钟表练习,析构函数,this 指针
- C++ Primer 练习7.32(C++ Primer读书笔记)
- C++学习-函数重载和默认参数
- c++笔记02---内联 inline,动态内存 new/delete,引用,对象,类
- c++笔记01---c++ 简介,g++ 编译器,名字空间,结构,联合,枚举
- python 3.4 error: Microsoft Visual C++ 10.0 is required(Unable to find vcvarsall.bat)
- 【转】C++ 编译器的函数名修饰规则
- 关于c++中的字符串的操作和转化
- vs中常用的快捷键
- 矩阵求逆c++达到