设计一个Gift类,Gift类有成员:私有char型数组成员name,私有double型数据成员size、weight表示大小、重量。主函数中创建有三个元素的Gift类对象数组。要求,数组三个元素的name成员分别初始化为“Toy_car”、"Book"、"Hat"。主函数中,通过对象指针“Xiaoming”指向表示Book的对象(数组元素),并且通过成员函数输出其name和weight。主函数中,通过动态内存分配运算符new创建一个Gift类的对象并初始化,通过指向对象成员的指针*p调用成员函数输出Name。
时间: 2024-02-20 22:56:12 浏览: 125
基于Java开发的angel_giftcard_app后端接口设计源码
好的,您的问题我已经收到了。下面是Gift类的设计:
```c++
#include <iostream>
#include <cstring>
using namespace std;
class Gift {
private:
char name[20];
double size;
double weight;
public:
Gift(char n[], double s, double w) {
strcpy(name, n);
size = s;
weight = w;
}
void showNameAndWeight() {
cout << "Name: " << name << endl;
cout << "Weight: " << weight << endl;
}
char* getName() {
return name;
}
};
```
然后,根据您的要求,我们可以创建一个三个元素的`Gift`类对象数组,并初始化每个对象的`name`成员:
```c++
int main() {
Gift gifts[3] = {
Gift("Toy_car", 10.5, 0.5),
Gift("Book", 15.2, 1.2),
Gift("Hat", 12.7, 0.3)
};
```
接下来,我们通过对象指针`Xiaoming`指向表示Book的对象(数组元素),并且通过成员函数输出其`name`和`weight`:
```c++
Gift* Xiaoming = &gifts[1];
cout << "Xiaoming's gift: " << Xiaoming->getName() << endl;
Xiaoming->showNameAndWeight();
```
最后,我们通过动态内存分配运算符`new`创建一个`Gift`类的对象并初始化,通过指向对象成员的指针`p`调用成员函数输出`name`:
```c++
Gift* p = new Gift("Candy", 5.3, 0.2);
cout << "New gift: " << p->getName() << endl;
delete p;
return 0;
}
```
完整代码如下:
阅读全文