请用C++语言描述手机类,决定类的成员并设计相应的测试程序。
时间: 2024-09-15 13:08:56 浏览: 27
在C++中,我们可以创建一个简单的`Phone`类来表示手机,包含一些基本属性如品牌、型号、颜色以及电话号码,并提供一些常用功能的操作,例如拨打和接听电话。以下是一个基础的设计:
```cpp
class Phone {
public:
// 构造函数
Phone(std::string brand, std::string model, std::string color, std::string phoneNumber)
: brand_(brand), model_(model), color_(color), phoneNumber_(phoneNumber) {}
// 获取和设置方法
std::string getBrand() const { return brand_; }
void setBrand(const std::string& brand) { brand_ = brand; }
std::string getModel() const { return model_; }
void setModel(const std::string& model) { model_ = model; }
std::string getColor() const { return color_; }
void setColor(const std::string& color) { color_ = color; }
std::string getPhoneNumber() const { return phoneNumber_; }
void setPhoneNumber(const std::string& phoneNumber) { phoneNumber_ = phoneNumber; }
// 拨打电话方法
virtual void makeCall() {
std::cout << "Making a call to: " << phoneNumber_ << "\n";
}
private:
std::string brand_;
std::string model_;
std::string color_;
std::string phoneNumber_;
};
```
为了测试这个类,我们可以创建一个`TestPhone`类,包含一些针对`Phone`类的测试方法:
```cpp
#include <iostream>
void testPhone(Phone& phone) {
std::cout << "Testing Phone:\n";
std::cout << "Brand: " << phone.getBrand() << "\n";
std::cout << "Model: " << phone.getModel() << "\n";
std::cout << "Color: " << phone.getColor() << "\n";
phone.setBrand("Apple");
phone.setModel("iPhone 13");
phone.setColor("Black");
std::cout << "Setting new properties:\n";
phone.setPhoneNumber("1234567890");
std::cout << "New phone number: " << phone.getPhoneNumber() << "\n";
phone.makeCall();
}
int main() {
Phone myPhone("Samsung", "Galaxy S21", "Blue", "0987654321");
testPhone(myPhone);
// 创建一个苹果手机实例并测试
Phone applePhone("Apple", "iPhone 12", "Silver", "9876543210");
testPhone(applePhone);
return 0;
}
```
在这个测试程序中,我们首先创建了一个三星和一个苹果手机实例,然后分别测试了它们的基本信息设置和拨打电话功能。