first->data=p1; q=new node; q->data=p2; first->next=q; t=new node; t->data=p3; q->next=t; q=t; t=new node; t->data=p4; q->next=t; t->next=NULL; int i; node *p=first->next; p=first->next; double sum; sum=0; for(i=0;i<3;i++) { p->data->showArea(); sum=sum+p->data->Area(); p=p->next;
} cout<<\总面积为:\ p=first; node *s; for(i=0;i<4;i++) { s=p; p=p->next; delete s; } return 0; } 实验结果: 实验分析: 在基类中定义两个纯虚函数,分别为求面积与输出面积;
在各个派生类中定义函数求面积与显示面积。主函数中定义一个节点结构体,分别存储指向基类的指针,与指向下一个节点的指针。将派生类的地址通过节点连接成指针,调用链表的值来调用各个派生类的函数。 三、结论 1)函数重载就是一名多用,可以使代码更容易被理解; 2)重载格式为 函数类型 operator 运算符名(形参列表){}; 3)对于插入运算符与流提取运算符的重载格式: istream &operator >>(istream &,自定义类 &); ostream &operator >>(ostream &,自定义类 &); 4)用一个指针调用派生类的函数时,将指针定义为指向基类的指针,基类的函数要定义为虚函数,将各个派生类的地址赋值给指针,通过指针调用函数,实现多态性。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库c++多态性实验报告(7)在线全文阅读。
相关推荐: