更多资料请点击:我的目录
本篇仅用于记录自己所学知识及应用,代码仍可优化,仅供参考,如果发现有错误的地方,尽管留言于我,谢谢。
要求:设计一个类(Kitty),用来表征小猫咪。假定每只小猫在创建时都有固定的毛色和性别,体重会随着吃而逐渐增加。
成员数据包括:
体重(weight)
性别(sex) :雄(male)、雌(female)
毛色(color):黑(black)、白(white)、棕(brown)
成员方法包括:
吃(eat)
睡(sleep)
卖萌(actingCute)
查看身体各项指标(info)
kitty.h部分:
#ifndef KITTY_H
#define KITTY_H
class kitty
{
private:
int weight; //体重
public:
enum gender {
male, female} sex; //枚举性别
enum coat {
white, black, brown} color; //枚举毛色
kitty(float w, enum gender s, enum coat c = white); //生小猫,毛色默认白色
void eat();
void sleep();
void info(); //输出小猫当前状态
};
#endif // KITTY_H
kitty.c部分:
#include <iostream>
#include "kitty.h"
using namespace std;
kitty::kitty(float w, enum gender s, enum coat c)
{
weight = w;
sex = s;
color = c;
cout << "生了只小猫!! " << endl;
}
void kitty::eat()
{
if(weight > 8)
{
cout << "so fat! can not eat too more!!" << endl;
}
else
{
cout << "eat a little...weight++" <<endl;
weight++;
}
}
void kitty::sleep()
{
cout << "sleeping ..... weight++." << endl;
weight++;
}
void kitty::info()
{
cout <<"猫咪体重:" << weight << "斤" << endl;
switch(sex)
{
case male:
cout << "性别 : 男" << endl;
break;
case female:
cout << "性别 : 女" << endl;
break;
}
if(color == white) //判断毛色:if写法
cout << "毛色 : 白色" << endl;
if(color == black)
cout << "毛色 : 黑色" << endl;
if(color == brown)
cout << "毛色 : 棕色" << endl;
switch(color) //判断毛色:switch/case写法
{
case white:
cout << "毛色 : 白色" << endl;
break;
case black:
cout << "毛色 : 黑色" << endl;
break;
case brown:
cout << "毛色 : 棕色" << endl;
break;
}
}
main.c部分:
#include <iostream>
#include "kitty.h"
using namespace std;
int main()
{
kitty mycat(3.2, kitty::male, kitty::black); //默认白色
//kitty mycat(3.2, kitty::male); //默认白色
mycat.info();
cout << endl;
mycat.eat();
mycat.eat();
mycat.eat();
mycat.sleep();
mycat.eat();
mycat.eat();
mycat.eat();
mycat.sleep();
cout << endl;
mycat.info();
return 0;
}
运行结果: