
语言学习
文章平均质量分 59
code_luck
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++中的虚函数表及对象内存布局
虚函数的作用是为了实现多态,当类中的某个函数希望在派生类中重写时,这个函数要被声明为virtual。具有虚函数的类对象中均会存有虚函数指针,该指针放在对象内存的头部,且指针指向虚函数表,虚函数表中存放虚函数的入口地址,起初,我也不太明白虚函数表的存放位置,看了篇博客《关于C++中虚函数表存放位置的思考 》,其中说虚函数表存放在可执行文件的只读数据字段,感觉有点太深奥了,搞不明白,有兴趣的朋友可原创 2015-03-22 14:04:23 · 1121 阅读 · 0 评论 -
继承中的函数名称遮掩
在程序中有作用域的概念,当编译器处在某个函数的作用域时,当需要需要查找某个变量或者某个函数时,总是从最里面的作用域开始查找,当查找不到时,才向外围继续查找,其中尤为需要注意的是:C++中的名称遮掩规则所做的唯一的事情就是:遮掩名称,而不管类型是否相同。例如:class base{ private: int x; public: virtual void mf1()=0; virtual void原创 2015-03-23 18:44:55 · 508 阅读 · 0 评论 -
c++中的is-a关系
is-a关系从字面上理解是一个从属派生关系,举个例子就是:“学生是人”,但这句话反过来则不成立,void error(const std::string& msg);//报错函数定义于另外某处 class penguin:public Bird{ public: virtual void fly() { error("attempt to make a penguin fly!") } ....原创 2015-03-23 18:17:03 · 2983 阅读 · 0 评论