stationery
时间: 2023-12-02 21:38:41 浏览: 14
根据提供的引用内容,Stationery是指在Microsoft Word中,用户可以创建自定义的文档模板,以便在创建新文档时使用。这些模板可以包含文本、图像、表格、样式和格式设置等元素,以便用户可以更快速地创建符合特定需求的文档。Stationery可以通过MS Word Stationery Editor进行编辑和管理。
相关问题
优化下列代码nclude<iostream> #include<string> using namespace std; class Item_0321wzj { public: string name_0321wzj; double price_0321wzj; Item_0321wzj(string n_0321wzj, double p_0321wzj) { name_0321wzj=n_0321wzj; price_0321wzj=p_0321wzj; } }; struct Rack_0321wzj { char product_0321wzj[20]; int itemsnum_0321wzj; float itemsprice_0321wzj; float totalprice_0321wzj_0321; }; class Cart_0321wzj { public: Item_0321wzj* items_0321wzj[100]; int nitems_0321wzj; Cert_0321wzj() { nitems_0321wzj=0; } void additem_0321wzj(Item_0321wzj*item_0321wzj) { items_0321wzj[nitems_0321wzj]=item_0321wzj; nitems_0321wzj++; } double get_total_0321wzj() { double total_0321wzj=0; for(int i=0;i<nitems_0321wzj;i++) { total_0321wzj+=items_0321wzj[i]->price_0321wzj; } return total_0321wzj; } }; class Market_0321wzj { public: Item_0321wzj*items_0321wzj[100]; int nitems_0321wzj=0; Market_0321wzj() { nitems_0321wzj=0; } void additem_0321wzj(Item_0321wzj*item_0321wzj) { items_0321wzj[nitems_0321wzj]=item_0321wzj; nitems_0321wzj++; } void displayitems_0321wzj() { for(int i=0;i<nitems_0321wzj;i++) { cout<<items_0321wzj[i]->name_0321wzj<<"-"<<items_0321wzj[i]->price_0321wzj<<endl; } } }; class Category_0321wzj { public: void setCategory_0321wzj(string category_0321wzj) { this->category_0321wzj=category_0321wzj; } string getCategory_0321wzj() { return category_0321wzj; } private: string category_0321wzj; }; class Product_0321wzj { public: string name_0321wzj; void setName_0321wzj(string name_0321wzj) { this->name_0321wzj=name_0321wzj; } string getName_0321wzj() { return name_0321wzj; } private: string name; }; int main() { Rack_0321wzj s1_0321wzj,s2_0321wzj; s1_0321wzj.itemsnum_0321wzj = 5; s1_0321wzj.itemsprice_0321wzj=15; s1_0321wzj.totalprice_0321wzj_0321=s1_0321wzj.itemsnum_0321wzj*s1_0321wzj.itemsprice_0321wzj; Category_0321wzj fruit_0321wzj; fruit_0321wzj.setCategory_0321wzj("fruit"); fruit_0321wzj.setCategory_0321wzj("stationery"); Product_0321wzj apple_0321wzj; apple_0321wzj.setName_0321wzj("apple"); apple_0321wzj.setName_0321wzj("pen"); Market_0321wzj market_0321wzj; market_0321wzj.additem_0321wzj(new Item_0321wzj("apple",1.0)); market_0321wzj.additem_0321wzj(new Item_0321wzj("pen",3.5)); market_0321wzj.displayitems_0321wzj(); Cart_0321wzj cart_0321wzj; cart_0321wzj.additem_0321wzj(market_0321wzj.items_0321wzj[0]); cart_0321wzj.additem_0321wzj(market_0321wzj.items_0321wzj[1]); return 0; }
以下是对代码的优化建议:
1. 命名规范问题:
- 建议使用有意义的变量、函数和类名,以提高代码的可读性。
- 类名、函数名和变量名应该使用有意义的单词或短语,且第一个单词首字母应该大写。
- 变量名应该使用驼峰式命名法,即首字母小写,后面每个单词的首字母大写。
2. 类的设计问题:
- Rack_0321wzj 结构体中的成员变量可以使用类来代替,这样代码更易于扩展和维护。
- Cart_0321wzj 类的构造函数名拼写错误,应该改为 Cart_0321wzj。
- Market_0321wzj 类中的 nitems_0321wzj 变量可以在类的构造函数中初始化,而不是在类的定义中初始化。
- Category_0321wzj 类中的 setCategory_0321wzj 函数设置了两次,第二次的值会覆盖第一次的值,应该删除其中一次。
- Product_0321wzj 类中的 setName_0321wzj 函数设置了两次,第二次的值会覆盖第一次的值,应该删除其中一次。
3. 其他问题:
- 建议使用动态内存分配来存储 item_0321wzj,而不是使用固定大小的数组,以便在添加更多商品时不会出现数组越界的问题。
- 建议使用 const 来修饰不会修改的变量,以提高代码的可读性和安全性。例如,get_total_0321wzj 函数中的变量 total_0321wzj 可以使用 const 来修饰。
用java 编写商品类,包含属性 名称,类型,价格,产地。 1.为所有属性添加getter 与 setter,要求setter方法中参数名必须与属性名相同,使用this关键字 2.编写构造函数给成员属性赋值,同样需要参数名与属性名相同,使用this关键字 3.编写无参数的构造函数,要求在该构造函数中调用之前写的有参数的构造函数,使用this关键字 4.添加toStirng方法 5.测试类中使用上述多个构造方法创建对象,并显示toString()的结果
好的,下面是Java代码实现:
```java
public class Commodity {
private String name;
private String type;
private double price;
private String origin;
public Commodity(String name, String type, double price, String origin) {
this.name = name;
this.type = type;
this.price = price;
this.origin = origin;
}
public Commodity() {
this("defaultName", "defaultType", 0.0, "defaultOrigin");
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getOrigin() {
return origin;
}
public void setOrigin(String origin) {
this.origin = origin;
}
@Override
public String toString() {
return "Commodity{" +
"name='" + name + '\'' +
", type='" + type + '\'' +
", price=" + price +
", origin='" + origin + '\'' +
'}';
}
}
```
测试类的代码如下:
```java
public class CommodityTest {
public static void main(String[] args) {
Commodity c1 = new Commodity("iPhone", "Electronic", 8999.0, "China");
System.out.println(c1.toString());
Commodity c2 = new Commodity();
c2.setName("Book");
c2.setType("Stationery");
c2.setPrice(29.9);
c2.setOrigin("USA");
System.out.println(c2.toString());
}
}
```
输出结果为:
```
Commodity{name='iPhone', type='Electronic', price=8999.0, origin='China'}
Commodity{name='Book', type='Stationery', price=29.9, origin='USA'}
```