kehou..

来源:互联网 发布:义乌淘宝培训班要求 编辑:程序博客网 时间:2024/06/08 15:07
#include <iostream>#include <stdlib.h>#include <string>#include<typeinfo>using namespace std;/** * 定义移动类:Movable * 纯虚函数:move */class Movable{public:    virtual void move() = 0;};/** * 定义公交车类:Bus * 公有继承移动类 * 特有方法carry */class Bus : public Movable{public:    virtual void move()    {        cout << "Bus -- move" << endl;    }    void carry()    {        cout << "Bus -- carry" << endl;    }};/** * 定义坦克类:Tank * 公有继承移动类 * 特有方法fire */class Tank :public Movable{public:    virtual void move()    {        cout << "Tank -- move" << endl;    }    void fire()    {        cout << "Tank -- fire" << endl;    }};/** * 定义函数doSomething含参数 * 使用dynamic_cast转换类型 */void doSomething(Movable *obj){    obj->move();    if(typeid(*obj) == typeid(Bus))    {       Bus *bus = dynamic_cast<Bus *>(obj);        bus->carry();    }    if(typeid(*obj) == typeid(Tank))    {        Tank *tank = dynamic_cast<Tank *>(obj);        tank->fire();    }}int main(void){    Bus b;    Tank t;    doSomething(&b);    doSomething(&t);    return 0;}
#include <iostream>#include <string>#include <stdlib.h>using namespace std;/** * 定义函数division * 参数整型dividend、整型divisor */int division(int dividend, int divisor){    if(0 == divisor)    {        // 抛出异常,字符串“除数不能为0”        throw string("除数不能为0");    }    else    {        return dividend / divisor;    }}int main(void){    int d1 = 0;    int d2 = 0;    int r = 0;    cin >> d1;    cin >> d2;    // 使用try...catch...捕获异常    try    {        division(d1,d2);    }    catch(string &p)    {        cout << p << endl;    }    return 0;}

都是慕课网后面的程序练习,防止遗忘,所以,写到博客

原创粉丝点击