IT评测·应用市场-qidao123.com
标题:
C++的对象和类
[打印本页]
作者:
鼠扑
时间:
2023-4-13 16:41
标题:
C++的对象和类
一、问题引入
区分面向过程编程和面向对象编程的最大的特性就是 类,类是一种将抽象转换为用户定义类型的C++工具,它将数据表示和操纵数据的方法组合成一个整洁的包。
那么如何声明类、定义类、调用类?
以
C++ Primer Plus:中文版 (第六版)
的股票类举例说明。
二、解决过程
2-1 类抽象
股票类的抽象化
获得股票
增持股票
卖出股票
更新股票价格
显示所持股票的信息
股票的数据类型抽象化
发行股票公司名称
所持股票的数量
股票的单价
股票总值
2-2 类的代码实现
1️⃣
stock.h
#ifndef __STOCK_H__
#define __STOCK_H__
#include <string>
// 类的声明
class Stock {
public:
Stock(); // default constructor
Stock(const std::string & co, long n = 0, double pr = 0.0); // constructor prototype with some default arguments
~Stock(); // noisy destructor
void get_stock(const std::string & co, long n, double pr); // 获得股票
void add_stock(long num, double price); // 增持股票
void sell_stock(long num, double price); // 卖出股票
void update_price(double price); // 更新股票价格
void show(); // 显示所持股票的信息
private:
std::string company; // 发行股票公司名称
long shares; // 所持股票的数量
double share_val; // 股票的单价
double total_val; // 股票总值
void set_total() {total_val = shares * share_val;};
};
#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