30/09/2018, 19:23
Cho em hoi vi sao khi viet code nhu the nay thi chuong trinh lai hien loi a
Tep main.cpp:
#include <iostream>
#include <string>
#include "SieuAnhHung.h"
#include "SieuNhan.h"
using namespace std;
int main()
{
SieuAnhHung hero1;
SieuNhan hero2;
hero1.hienThi();
hero2.hienThi();
hero2.daLua(hero1);
hero2.tanCong(hero1);
hero1.tanCong(hero2);
hero2.daLua(hero1);
hero1.tanCong(hero2);
hero2.tanCong(hero1);
hero1.hienThi();
hero2.hienThi();
return 0;
}
Tep SieuAnhHung.h:
#ifndef SIEUANHHUNG_H_INCLUDED
#define SIEUANHHUNG_H_INCLUDED
#include <string>
class SieuAnhHung
{
public:
SieuAnhHung();
SieuAnhHung(std::string ten, int hp, int dmg)
void nhanSatThuong(int dmg);
void tanCong(SieuAnhHung& doiThu);
void hienThi();
protected:
int m_hp;
int m_dmg
loi:std::string m_ten;
};
#endif // SIEUANHHUNG_H_INCLUDED
Tep SieuAnhHung.cpp:
#include <iostream>
#include <string>
#include "SieuAnhHung.h"
using namespace std;
SieuAnhHung::SieuAnhHung(): m_ten("BatMan"), m_hp(50), m_dmg(50)
{
}
SieuAnhHung::SieuAnhHung(string ten, int hp, int dmg): m_ten(ten), m_hp(hp), m_dmg(dmg)
{
}
void SieuAnhHung::nhanSatThuong(int dmg)
{
m_hp -= dmg;
}
void SieuAnhHung::tanCong(SieuAnhHung& doiThu)
{
doiThu.nhanSatThuong(m_dmg);
cout << m_ten << " tan cong " << doiThu.m_ten;
}
void SieuAnhHung::hienThi()
{
cout << "Ten: " << m_ten << endl;
cout << "Mau: " << m_hp << endl;
cout << "Sat thuong: " << m_dmg << endl;
}
Tep SieuNhan.h
#ifndef SIEUNHAN_H_INCLUDED
#define SIEUNHAN_H_INCLUDED
#include "SieuAnhHung.h"
#include <string>
class SieuNhan: public SieuAnhHung
{
public:
SieuNhan();
SieuNhan(std::string ten, int hp, int dmg);
void daLua(SieuAnhHung& doiThu);
void hienThi();
private:
int m_power;
};
#endif // SIEUNHAN_H_INCLUDED
Tep SieuNhan.cpp:
#include "SieuAnhHung.h"
#include "SieuNhan.h"
#include <string>
#include <iostream>
using namespace std;
SieuNhan::SieuNhan(): SieuAnhHung(), m_power(1)
{
}
SieuNhan::SieuNhan(string ten, int hp, int dmg): SieuAnhHung(ten, hp, dmg), m_power(1)
{
}
void SieuNhan::daLua(SieuAnhHung& doiThu)
{
if(m_power > 0)
{
doiThu.nhanSatThuong(m_dmg * 2);
loi: cout << m_ten << " da lua " << doiThu.m_ten;
}
else
{
cout << m_ten << " da het nang luong" << endl;
}
}
void SieuNhan::hienThi()
{
SieuAnhHung::hienThi();
cout << "Day la mot sieu nhan" << endl;
}
Loi:
std::string m_ten is protected
within this context
Bài liên quan
Viết Game hả cậu ?