c++day 5

#include <iostream>

using namespace std;
int monster=10000;
class Hero
{
protected:
    string name;
    int hp;
    int attck;
public:
    Hero(){}
    Hero(string name,int hp,int attck):name(name),hp(hp),attck(attck){}
    virtual void Atk()
    {
        monster-=0;
    }
};
class Fashi:public Hero
{
    int ap_ack;
public:
    Fashi(int ap_ack,string name,int hp,int attck):Hero(name,hp,attck),ap_ack(ap_ack){}
    void  Atk()
    {
        monster-=ap_ack;
    }
};
class Sheshou:public Hero
{
    int ad_ack;
public:
    Sheshou(int ad_ack,string name,int hp,int attck):Hero(name,hp,attck),ad_ack(ad_ack){}
    void Atk()
    {
        monster-=ad_ack;
    }
};
#include <iostream>
using namespace std;
class Person
{
    string name;
    int* age;
public:
    Person():name("lisi"),age(new int(20)){}
    Person(string name,int *age):name(name),age(new int (*(age))){}
    ~Person()
    {
        delete age;
    }
    Person (const Person &other):name(other.name),age(new int (*(other.age)))
    {
        cout <<"P的拷贝构造函数:" <<endl;
    }
    Person &operator=(const Person &other)
    {
        if(this!=&other)
        {
            *(this->age)=*(other.age);
            this->name=other.name;
        }
        cout <<"P的拷贝赋值函数:" <<endl;
        return *this;
    }
};
class Stu:public Person
{
    const double score;
public:
    Stu():score(99){}
    Stu(double score):score(score){}
    Stu(double score,string name,int *age):Person(name,age),score(score){}
    Stu(const Stu &other):Person(other),score(other.score){}
    Stu &operator=(const Stu &other)
    {
        if(this!=&other)
        {
        Person::operator=(other);
        }
        return *this;
    }
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值