c++继承封装多态销售管理系统
时间: 2023-12-22 10:28:22 浏览: 90
c++ 继承多态
在C++中,继承、封装和多态是面向对象编程的三个基本特征。销售管理系统是一个典型的面向对象程序设计的例子,可以使用C++中的继承、封装和多态来实现。
1. 继承
继承是指一个类可以从另一个类中继承属性和方法。在销售管理系统中,可以定义一个基类Sales,包含一些通用的属性和方法,如销售日期、销售数量、销售金额等。然后定义一些派生类,如ProductSales、ServiceSales等,继承Sales类,并添加一些特定的属性和方法。
2. 封装
封装是指将数据和方法封装在一个类中,对外部隐藏实现细节,只提供公共接口。在销售管理系统中,可以将Sales类的属性和方法封装起来,只提供一些公共的接口,如添加销售记录、查询销售记录等。
3. 多态
多态是指同一种操作作用于不同的对象上面,可以产生不同的执行结果。在C++中,可以通过虚函数来实现多态。在销售管理系统中,可以将Sales类的某些方法定义为虚函数,然后在派生类中重写这些虚函数,以实现不同的执行结果。
下面是一个简单的C++销售管理系统的示例代码:
```cpp
#include <iostream>
#include <string>
using namespace std;
class Sales {
public:
Sales(string date, int quantity, double amount) {
this->date = date;
this->quantity = quantity;
this->amount = amount;
}
virtual void print() {
cout << "Date: " << date << endl;
cout << "Quantity: " << quantity << endl;
cout << "Amount: " << amount << endl;
}
protected:
string date;
int quantity;
double amount;
};
class ProductSales : public Sales {
public:
ProductSales(string date, int quantity, double amount, string product) : Sales(date, quantity, amount) {
this->product = product;
}
void print() {
cout << "Product: " << product << endl;
Sales::print();
}
private:
string product;
};
class ServiceSales : public Sales {
public:
ServiceSales(string date, int quantity, double amount, string service) : Sales(date, quantity, amount) {
this->service = service;
}
void print() {
cout << "Service: " << service << endl;
Sales::print();
}
private:
string service;
};
int main() {
Sales* sales1 = new ProductSales("2021-01-01", 10,100.0, "Product A");
Sales* sales2 = new ServiceSales("2021-01-02", 5, 50.0, "Service B");
sales1->print();
sales2->print();
return 0;
}
```
阅读全文