注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

蒙奇D小豌豆的博客

蒙奇D小豌豆的学习记录

 
 
 

日志

 
 

C++学习四之继承  

2013-01-31 21:07:20|  分类: language |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
1 c++中通过基类的引用或者指针调用虚函数,发生动态绑定。除了构造函数外所有非static函数都可以是虚函数

2 protected 成员可以被自身类和派生类访问不能为其它类访问。派生类只能通过派生类对象访问基类的protected成员,不能通过基类对象访问
class father
{
protected int one;
}
class child: public father 
{
}
派生类的成员函数
 void func(father& f, child& c)
{
f.one = 1; //error
c.one = 1; //ok
one = 1; //ok  this->one
}

3 一旦在类里声明为了虚函数,派生类中他永远是虚函数。派生类的虚函数必须与基类定义的完全匹配,但是返回基类引用或指针的虚函数,派生类该函数可以返回该派生类的引用和指针。

4 一个类必须定义了才能作为基类,仅仅声明不行,发生动态绑定条件 1.函数为虚函数. 2.调用成员函数的对象必须是基类指针或者引用

5 覆盖机制:有时候派生类希望调用基类的虚函数版本,可以显示调用p->F::vitfunc();

6 类里面默认继承是私有继承,默认成员是私有成员。友元关系不能继承,如果基类定义了static成员,那么整个派生类层次中只有这样一个实例

7 可以将派生类引用或者指针转换为基类引用或者指针,将派生类对象转换到基类对象会发生切割。从基类到派生类对象的自动转换是不存在的,从基类到派生类指针或引用的转换(如果正确),需要dynamic_cast.

8 派生类的构找函数中只能直接初始化基类成员。在构造函数和析构函数中,调用虚函数,调用的是自身类版本

9 与基类成员同名的派生类成员将屏蔽对基类成员的直接访问,如果派生类定义了成员函数重载,那么派生类只能访问派生类中 重定义 那些成员函数
class Base
{
int func(int );
}
class Child
{
int func();
}

Base b;
child c;
b.func(1);  //ok
c.func()//ok
c.func(1)//error  被隐藏base类中
c.Base::func(1)//ok

10 即使虚构函数没有工作要做,继承层次的根类也应该定义一个虚析构函数。
  评论这张
 
阅读(134)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018