描述
设计一个Dog类,包含name、age、sex和weight等属性,在有参数的构造函数中对数据成员进行初始化。
公有成员函数有:GetName()、GetAge()、GetSex()和GetWeight()可获取名字、年龄、性别和体重。
编写成员函数speak() 显示狗的叫声。编写主函数,输入狗的名字、年龄、性别和体重;
声明Dog对象并用输入的数据通过构造函数初始化对象,通过成员函数获取狗的属性并显示出来。主函数如下:
int main() {
char *name;
name = new char[20];
char sex;
int age;
double weight;
cin >> name >> age >> sex >> weight;
Dog dog1(name, age, sex, weight);
dog1.GetName();
cout << endl;
dog1.GetAge();
cout << endl;
dog1.GetSex();
cout << endl;
dog1.GetWeight();
cout << endl;
dog1.speak();
delete name;
return 0;
}
输入
狗的信息。
输出
狗的信息,外加叫声。
答案如下:
#include <iostream>
#include <cstring>
using namespace std;
class Dog {
private:
char name[10];
int age;
char sex;
double weight;
public:
Dog(char *, int, char, double);
void GetName() {
cout << name;
};
void GetAge() {
cout << age;
};
void GetSex() {
cout << sex;
};
void GetWeight() {
cout << weight;
};
void speak();
};
Dog::Dog(char *name, int age, char sex, double weight) {
strcpy(this->name, name);
this->age = age;
this->sex = sex;
this->weight = weight;
}
void Dog::speak() {
cout << "Arf!Arf!" << endl;
}
int main() {
char *name;
name = new char[20];
char sex;
int age;
double weight;
cin >> name >> age >> sex >> weight;
Dog dog1(name, age, sex, weight);
dog1.GetName();
cout << endl;
dog1.GetAge();
cout << endl;
dog1.GetSex();
cout << endl;
dog1.GetWeight();
cout << endl;
dog1.speak();
delete name;
return 0;
}