IT评测·应用市场-qidao123.com

标题: C++的对象和类 [打印本页]

作者: 鼠扑    时间: 2023-4-13 16:41
标题: C++的对象和类
一、问题引入

区分面向过程编程和面向对象编程的最大的特性就是 类,类是一种将抽象转换为用户定义类型的C++工具,它将数据表示和操纵数据的方法组合成一个整洁的包。
那么如何声明类、定义类、调用类?
C++ Primer Plus:中文版 (第六版) 的股票类举例说明。
二、解决过程

2-1 类抽象

股票类的抽象化
股票的数据类型抽象化
2-2 类的代码实现

1️⃣ stock.h
  1. #ifndef __STOCK_H__
  2. #define __STOCK_H__
  3. #include <string>
  4. // 类的声明
  5. class Stock {
  6. public:
  7.     Stock(); // default constructor
  8.     Stock(const std::string & co, long n = 0, double pr = 0.0); // constructor prototype with some default arguments
  9.     ~Stock(); // noisy destructor
  10.     void get_stock(const std::string & co, long n, double pr);  // 获得股票
  11.     void add_stock(long num, double price);                     // 增持股票
  12.     void sell_stock(long num, double price);                    // 卖出股票
  13.     void update_price(double price);                            // 更新股票价格
  14.     void show();                                                // 显示所持股票的信息
  15. private:
  16.     std::string company; // 发行股票公司名称
  17.     long shares;         // 所持股票的数量
  18.     double share_val;    // 股票的单价
  19.     double total_val;    // 股票总值
  20.         void set_total() {total_val = shares * share_val;};
  21. };
  22. #endif
复制代码
2️⃣ stock.cpp
[code]#include "stock.h"#include // default constructorStock::Stock(){}// class destructorStock::~Stock() // verbose class destructor{}// 构造函数的参数表示的不是类成员,而是赋给类成员的值。因此,参数名不能与类成员相同,否则出现同名混乱Stock::Stock(const std::string & co, long n, double pr) {    company = co;    if(n < 0)    {        std::cerr




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4