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

4期c++9月21号

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

一、上午教课的第一个重要知识点是抽象类,对于抽象类在课上已经完全掌握,一下是一些重要的点。

抽象类:带有纯虚函数的类称为抽象类

形式:class类名{virtual类型 函数名(参数表)=0;........}

因为我们生活中的抽象类是顶层的基类,所以抽象类只可以给基类来使用。而且不可以定义抽象类的对象,只能声明抽象类的指针。纯虚函数直到被覆盖前所派生的类均为抽象类。

抽象类的作用:把所用的派生类用一个抽象概念,组织在一个继承结构中,保证派生类中和基类相同动作行为。抽象类无法实现的函数,可以声明为纯虚函数,留给派生类去实现。

二、上午的拷贝构造函数接受的不是很多,因此下午我们要求助教老师给我们大白话式的讲了一遍,已经完全接收。

拷贝构造函数(这部分知识上课已经吸收)

对象的赋值:string name;一个已知对象student a(“abcd”)赋值给另一个已知对象。student b;  b=a;通过对赋值运算符的重载实现。

对象的拷贝:用一个已知对象student s1(“abcd”)构造或者初始化一个新对象。student s2=s1或者student s2(s1);

拷贝构造函数的形式student(student & s)对象的引用;或者student(const student & s);对象的常引用{常引用中的s不能成为左值}

下午助教老师跟我们重新讲解了关于深拷贝的问题。

目的是要给自己定义一个新的拷贝空间,避免浅拷贝同时指向同一个动态空间。

aa(){f=new char[10];}  aa(aa const & s){f=new  char[10];strcpy(f,s.f);}  ~aa(){delete [ ]f;}    char * f;};

int main(){①aa p;   strcpy(p.f,"Computer");cout<<p.f<<endl;   aa q(p);..

首先①把computer拷贝给p此时p会建立一个空间,执行aa q(p);会先执行拷贝函数,这时q会重新建立一个空间,此时p里的会拷贝到q里,在执行析构函数时,会先析构q空间释放,在析构p空间释放。

三、例题错误:如下循环为3,因此all shapes is 3,结果显示为4.

错误原因:在square调用了rectangle,square里面有count++,并且还会运行rectangle里面的count++,重复了一次。

改正方法:把count++写到基类里面。

相关文章

  • 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月21号

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