美文网首页
4期c++9月19号

4期c++9月19号

作者: 刘博zero | 来源:发表于2017-09-19 22:21 被阅读0次

上午知识点

1.派生类成员的标识与访问同名覆盖原则

当派生类与基类中有相同成员时:1若未强行指名,则通过派生类对象使用的是派生类中的同名成员。2如要通过派生类对象访问基类中被覆盖的同名成员,应使用基类名限定。

派生类与基类中有共同成员,基类中的同名成员会被隐藏或者说是基类中的同名成员被重定义了,也可以说派生类中的同名成员把基类中的给遮盖了,调用同名成员见一下例子:

class student{,,,,public:  ........  void o(){cout<<tel<<endl;}    protected:  int tel;};

class master:public student{ ..public:. void(){cout<<①tel<<endl;②student::o();③cout<<student::tel<<endl;protected:  int tel;};

void main(){一、master a(13312345,13012345); 二、 a.o();三、a.Student::o();

①调用的是派生类中的tel,②和③调用的是基类中的tel

一和二是派生类的函数 ,三是基类的函数

2,多重继承形式:class 派生类名:继承方式1  基类名1,继承方式2  基类名2,...{成员声明;}

①cass C: public B2, public B1, public B3{public:C(int i, int j, int k,int l):B1(i,j),B2(k,l){d=i+l}

构造函数的调用顺序取决于继承的顺序,和初始化的顺序无关。如上先调用B2,在调用B1,最后B3.

3.二义性

①在多重继承时,基类与派生类之间,或基类之间出现同名成员时,将出现访问时的二义性(不确定性)——采用虚函数或同名覆盖原则来解决。cout<<B1::b<<B2::b<<endl;

②当派生类从多个基类派生,而这些基类又从同一个基类派生,则在访问此共同基类中的成员时,将产生二义性——采用虚基类来解决。

虚基类的引入用于有共同基类的场合。声明class B1:virtual public B

作用主要用来解决多继承时可能发生的对同一基类继承多次而产生的二义性问题.为最远的派生类提供唯一的基类成员,而不重复产生多次拷贝

注意:在第一级继承时就要将共同基类设计为虚基类。

有虚基类的构造函数先调用虚基类再按继承顺序继续。如下:先B0在B1  B2

class B0{};  classB1::virtual public B0{};  classB2::virtual public B0{}; classD:: public B1,public B2{public:D(int b0,int b1, int b2, int b3):B0(b0),B1(b1),B2(b2){nvd=b3;}}

下午进行图形类的练习,根据老师上课讲的例题进行编写,本题包括了这几天的所有知识点,未完成晚上会继续编写。

相关文章

  • 4期c++9月27号

    今天主要讲了列表视图,日期控件和CFile类实现文本框的读写操作这几点内容。这阶段的知识点主要是在练习上,...

  • 4期c++9月20号

    草木有本心,何求美人折。很喜欢这句话。 一、声明基类的指针,祖先类的指针。 多态希望希望同一个函数调用,可以调用不...

  • 4期c++9月28号

    今天课上练习了CArchive类和类对象的串行化相关的保存和读取功能的练习,课上还讲了关于文件对话框和COb...

  • 4期c++9月29号

    上课老师先把第四章的视图文档结构讲完,因为掌握的不是很好今天下午我对这部分进行了着重练习。还包括了昨天讲的...

  • 4期c++9月15号

    上午知识点总结 1.引用:为一个变量、函数等对象规定一个别名,该别名称为引用。指针是个变量,可再赋值; 而引用建立...

  • 4期c++9月14号

    希望生活中有些事情就像while循环一样,愿它的循环条件是1,然而现实却不是这样,往往只能随缘。 ...

  • 4期c++9月19号

    上午知识点 1.派生类成员的标识与访问同名覆盖原则 当派生类与基类中有相同成员时:1若未强行指名,则通过派生类对象...

  • 4期c++9月22号

    今天知识点主要关于运算符的重载。在讲课的过程中用到了之前的this指针问题和引用知识点,这两个点我都是没有掌握熟练...

  • 4期c++9月18号

    上午 一.继承 1.class 派生类名:继承方式 基类名 { 派生类中的新成员 } 三种继承方式:公有继承:pu...

  • 4期c++9月21号

    一、上午教课的第一个重要知识点是抽象类,对于抽象类在课上已经完全掌握,一下是一些重要的点。 抽象类:带有纯虚函数的...

网友评论

      本文标题:4期c++9月19号

      本文链接:https://www.haomeiwen.com/subject/cvpgsxtx.html