题目:帮助小明找到心仪的礼物 (1)设计一个Gift类,Gift类有成员: 私有char型数组成员 name,私有double型数据成员 size、weight表示大小、重量 其它必要的成员函数和数据成员 (2)主函数中,并创建有3个元素的Gift类对象数组。要求,数组3个元素的name成员分别初始化为“Toy_car” 、“Book” 、“Hat”。 (3)主函数中,通过对象指针*Xiaoming指向表示Book的对象(数组元素),并且通过成员函数输出其name和weight。 (4)主函数中,通过动态内存分配运算符new创建一个Gift类的对象并初始化,通过指向对象成员的指针*p调用成员函数输出Name。(别忘了最后的delete)
时间: 2024-02-20 15:56:09 浏览: 34
下面是一个满足要求的示例代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
class Gift {
private:
char name[20];
double size, weight;
public:
Gift(const char* n = "", double s = 0.0, double w = 0.0) {
strcpy(name, n);
size = s;
weight = w;
}
const char* getName() const {
return name;
}
double getWeight() const {
return weight;
}
void printInfo() const {
cout << "Name: " << name << ", weight: " << weight << endl;
}
};
int main() {
Gift gifts[3] = { Gift("Toy_car", 10.0, 0.5), Gift("Book", 2.0, 0.2), Gift("Hat", 1.0, 0.1) };
Gift* Xiaoming = &gifts[1];
cout << Xiaoming->getName() << ", " << Xiaoming->getWeight() << endl;
Gift* p = new Gift("Pen", 0.1, 0.01);
p->printInfo();
delete p;
return 0;
}
```
在上面的代码中,我们定义了一个`Gift`类,其中包含了题目中要求的成员变量和成员函数。在`main()`函数中,我们创建了一个有3个元素的`Gift`对象数组,并分别初始化了它们的`name`、`size`、`weight`成员变量。接着,我们通过对象指针`Xiaoming`指向表示`Book`的对象,并调用了它的`getName()`和`getWeight()`成员函数输出了其`name`和`weight`成员变量的值。然后,我们使用动态内存分配运算符`new`创建了一个`Gift`对象,并通过指向对象成员的指针`p`调用了它的`printInfo()`成员函数输出了其`name`和`weight`成员变量的值。最后,我们使用`delete`释放了动态分配的内存。
阅读全文