c++封装类的例子

封装是面向对象编程的一个重要概念,它可以将数据和方法组织在一起,在类的内部实现封装,对外部隐藏实现细节。下面以一个简单的例子来介绍如何封装一个类库。

假设我们要设计一个计算器类,包含加、减、乘、除四种基本运算。

首先,需要定义一个类来表示计算器。

复制// calculator.h

#ifndef CALCULATOR_H
#define CALCULATOR_H

class Calculator {
public:
    Calculator();  // 构造函数
    ~Calculator(); // 析构函数

    double Add(double a, double b);  // 加法
    double Sub(double a, double b);  // 减法
    double Mul(double a, double b);  // 乘法
    double Div(double a, double b);  // 除法

private:
    double result;  // 计算结果
};

#endif // CALCULATOR_H

在类的定义中,我们定义了一个构造函数和一个析构函数。构造函数用于初始化对象,析构函数用于清理对象。在本例中,我们不需要做任何初始化和清理操作,因此这两个函数留空即可。

然后,我们定义了四个公有成员函数 Add()、Sub()、Mul()、Div(),分别表示加、减、乘、除四种基本运算。这些函数都接受两个参数,分别表示运算符的两个操作数,并返回运算结果。

最后,我们定义了一个私有成员变量 result,用于存储计算结果。这个变量只能在类的内部访问,外部无法直接访问,实现了数据的封装。

接下来,是类的实现。

复制// calculator.cpp

#include "calculator.h"

Calculator::Calculator() {
    result = 0.0;
}

Calculator::~Calculator() {
}

double Calculator::Add(double a, double b) {
    result = a + b;
    return result;
}

double Calculator::Sub(double a, double b) {
    result = a - b;
    return result;
}

double Calculator::Mul(double a, double b) {
    result = a * b;
    return result;
}

double Calculator::Div(double a, double b) {
    if (b == 0) {
        return 0.0;
    }
    result = a / b;
    return result;
}

在类的实现中,我们实现了类的构造函数和析构函数,这里留空即可。

接着,我们实现了四个公有成员函数 Add()、Sub()、Mul()、Div(),分别表示加、减、乘、除四种基本运算。在这些函数中,我们将操作数计算得到的结果存储在私有成员变量 result 中,同时返回计算结果。

最后,我们将类的定义和实现分别保存在 calculator.h 和 calculator.cpp 文件中,供其他程序使用。

使用这个类库的方法如下:

复制// main.cpp

#include "calculator.h"
#include <iostream>

int main() {
    Calculator calc;

    double a = 1.0;
    double b = 2.0;

    std::cout << "a + b = " << calc.Add(a, b) << std::endl;
    std::cout << "a - b = " << calc.Sub(a, b) << std::endl;
    std::cout << "a * b = " << calc.Mul(a, b) << std::endl;
    std::cout << "a / b = " << calc.Div(a, b) << std::endl;

    return 0;
}

在 main.cpp 中,我们包含了 calculator.h 文件,创建了一个 Calculator 对象,并调用了四个公有成员函数 Add()、Sub()、Mul()、Div(),分别计算加、减、乘、除四种基本运算,并输出计算结果。

这就是一个简单的类库的封装过程和使用方法。在实际编程中,封装是一个非常重要的概念,它可以提高代码的可重用性和可维护性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值