草木有本心,何求美人折。很喜欢这句话。
一、声明基类的指针,祖先类的指针。
多态希望希望同一个函数调用,可以调用不同的代码端呈现不同的状态。
使用虚函数来实现多态,在同名函数+关键词virtul。
多态性是面向对象程序设计的第三个重要特征。
多态性是指发出同样的消息被不同类型的对象接收时导致完全不同的行为。
消息——主要指对类的成员函数的调用。
二、虚函数
①使用virtual声明。
②在派生类中重新定义这个函数,此时函数的名字、参数个数、类型要与基类的虚函数相同,函数体根据派生类要求重新定义。
③定义一个指向基类对象的指针变量,使用时使他指向同一类中的对象。
④基类的指针变量指向的对象的同名函数,就是这个指针变量调用的虚函数。
在c++中当基类中的一个函数被定义为虚函数时,派生类中的同名函数就会自动的定义为虚函数。
假如派生类中的虚函数没有定义内容,那么在调用它时就会自动的调用基类中的虚函数内容。
三、vector是标准模板类库的重要一员。可以容纳许多其它类型的相同实体,称为容器。使用时:#include四种定义方式:(1)vectora(10);(2)vectorb(10,1);(3)vectorc(b);(4)vectord(b.begin(),b.begin()+3);输出向量中的所有元素:(1)for(int i=0; i::iterator it=a.begin();it!=a.end();++it)cout<<*it;vector::iterator //遍历器,迭代器(指向容器元素的指针)
向量中的操作都是通过使用成员函数来完成的:a.clear(); //清空a a.push_back(5);//向最后插入一个元素 a.pop_back();//删除最后一个元素 a.resize(10,2)//元素的个数调整至10个,值为2
四、C++标准程序库中的string类string name; 自动处理空间的占用问题。C++字符串并不以’\0’结尾 .可以用 = 进行赋值操作,== 进行比较,+ 做串联. 使用时#include//注意这里不是string.h
string str1,str2=“abcd”; str1=str2; str2=str1+”123”;
下午自己看了一遍自己上课录的视频,感觉有学到了很多包括之前练习出错的,也明白为什么错了,后面几天我还会继续看之前的老师上课的视频,很有用。