问题及代码:
/*
*Copyright (c) 2015,烟台大学计算机学院
*All rights reserved.
*文件名称:text.cpp
*作者:徐健
*完成日期:2015年4月3日
*版本号:v1.0
*
*问题描述:设计剑类
*输入描述:无
*程序输出:输出剑名,剑身,剑的攻击力大小
*/
#include <iostream>
using namespace std;
class attack
{
public:
attack(double t):
t(t){}
void show()
{
if(t<10)
{
cout<<"附带火属性,攻击力双倍:";
cout<<"攻击力为"<<2*t;
}
else if(t<100&&t>=10)
{
cout<<"附带金属性,攻击力+10:";
cout<<"攻击力为"<<(10+t);
}
else
{
cout<<"附带木属性,攻击力加1:";
cout<<"攻击力为"<<(1+t);
}
}
private:
double t;
};
class sword
{
public:
sword(string name,double length,double width,attack a):
name(name),length(length),width(width),a(a){}
void putsword()
{
cout<<"剑名:"<<name<<endl;
cout<<"剑长"<<length<<endl;
cout<<"剑宽"<<width<<endl;
a.show();
}
private:
string name;
double length;
double width;
attack a;
};
int main()
{
sword s("雪剑",10,4,13);
s.putsword();
return 0;
}
运行结果:
知识点总结:
运用了类的组合来实现需要实现的功能。
学习心得:
发现有很多方法使自己的想法表达出来。