C++浅析类与对象的基础

C++浅析类与对象的基础

在C++中,类是一种用户自定义的数据类型,它是一种封装了数据和函数的实体。对象是类的一个实例,它表示一个具体的个体,可以通过对象来调用类中定义的函数或访问类中定义的数据。

类的定义

类的定义以class关键字开头,后面跟类的名称和类的定义体。类的定义体由类的成员变量和成员函数组成。类的访问修饰符publicprivateprotected用来定义成员的访问权限。

class myClass
{
    public:
        // 成员函数声明
        void doSomething();
    private:
        // 成员变量声明
        int num;
};

在上面的例子中,myClass是类的名称,doSomething()是一个公有成员函数,num是一个私有成员变量。

对象的定义和使用

定义对象的方式是在类名后面跟一个变量名,用于给对象命名。对象可以调用类中定义的公有成员函数或访问公有成员变量。

myClass obj; // 定义对象
obj.doSomething(); // 调用公有成员函数

构造函数和析构函数

构造函数用于在对象创建时初始化成员变量,析构函数用于在对象销毁时清理资源。

class myClass
{
    public:
        int num;
        myClass() // 构造函数定义
        {
            num = 0; // 初始化num为0
            cout << "myClass对象已创建" << endl;
        }
        ~myClass() // 析构函数定义
        {
            cout << "myClass对象已销毁" << endl;
        }
};

int main()
{
    myClass obj; // 创建对象,输出"myClass对象已创建"
    cout << obj.num << endl; // 输出0
    return 0; // 程序结束,对象销毁,输出"myClass对象已销毁"
}

示例说明

示例一:实现一个简单的人类

class Person
{
    private:
        string name;
        int age;
        string gender;
    public:
        Person(string n, int a, string g) // 构造函数
        {
            name = n;
            age = a;
            gender = g;
        }
        void showInfo() // 成员函数
        {
            cout << "姓名:" << name << endl;
            cout << "年龄:" << age << endl;
            cout << "性别:" << gender << endl;
        }
};

int main()
{
    Person p("张三", 20, "男"); // 创建Person对象
    p.showInfo(); // 输出人的信息
    return 0;
}

在上面的例子中,我们定义了一个Person类,其中包含了成员变量nameagegender,以及成员函数showInfo()用于输出人的信息。在main()函数中创建了一个Person对象,并调用showInfo()函数输出了这个人的信息。

示例二:实现一个简单的计算器

class Calculator
{
    private:
        int num1;
        int num2;
    public:
        Calculator(int n1, int n2) // 构造函数
        {
            num1 = n1;
            num2 = n2;
        }
        int add() // 加法
        {
            return num1 + num2;
        }
        int sub() // 减法
        {
            return num1 - num2;
        }
        int mul() // 乘法
        {
            return num1 * num2;
        }
        float div() // 除法
        {
            return (float)num1 / num2;
        }
};

int main()
{
    int n1, n2;
    cout << "请输入两个数:"<< endl;
    cin >> n1 >> n2;
    Calculator calc(n1, n2); // 创建Calculator对象
    cout << "加法结果:" << calc.add() << endl;
    cout << "减法结果:" << calc.sub() << endl;
    cout << "乘法结果:" << calc.mul() << endl;
    cout << "除法结果:" << calc.div() << endl;
    return 0;
}

在上面的例子中,我们定义了一个Calculator类,其中包含了成员变量num1num2,以及成员函数add()sub()mul()div()用于实现加、减、乘、除四种运算。在main()函数中,我们通过用户输入的方式获取两个数的值,并创建一个Calculator对象,最后输出计算结果。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++浅析类与对象的基础 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • Win9传闻汇总:通知中心+免费下载+手势功能等

    Win9传闻汇总:通知中心+免费下载+手势功能等 Win9是微软公司计划推出的新一代Windows操作系统,许多传闻称其将具备一系列新特性和功能以满足用户需求。 1. 通知中心 据传Win9将新增“通知中心”功能,类似于Mac OS X和Android系统中的通知中心,用户可以在此处收集和管理系统和应用程序的通知消息。具体实现可以在任务栏隐藏一个小图标,点击…

    other 2023年6月25日
    00
  • springboot中Getmapping获取参数的实现方式

    Spring Boot中GetMapping获取参数的实现方式 在Spring Boot中,使用@GetMapping注解可以定义一个处理HTTP GET请求的方法。获取参数的方式有多种,下面将详细介绍两种常见的实现方式。 1. 通过@RequestParam注解获取参数 使用@RequestParam注解可以获取HTTP请求中的参数。该注解可以指定参数的名…

    other 2023年7月28日
    00
  • Netsh.exe 工具和命令行开关说明

    Netsh.exe 是一个命令行工具,它允许用户在 Windows 操作系统中配置网络参数。它可以用于管理本地网络接口、无线网络、DNS、远程桌面、Windows 防火墙等多种网络资源。在本文中,我们将介绍 Netsh.exe 工具及其相关命令行开关的使用。 Netsh.exe 工具的基本使用方法 Netsh.exe 工具可以在命令提示符下使用。下面是 Ne…

    other 2023年6月26日
    00
  • openssl3.0简介(3)

    以下是关于OpenSSL 3.0的完整攻略,包括基本知识和两个示例。 基本知识 OpenSSL是一个开源的加密库,提供了各种加密算法和协议的实现,例如SSL/TLS、RSA、DSA、AES等。OpenSSL 3.0是OpenSSL的最新版本,它引入了许多新特性和改进,包括: 改进TLS支持:OpenSSL 3.0支持TLS 1.3,并提供了更好的性能和安全性…

    other 2023年5月7日
    00
  • 浅谈jquery中setinterval()方法

    以下是浅谈jQuery中setInterval()方法的完整攻略,包含两个示例说明: setInterval()方法概述 jQuery setInterval()方法用于在指定的时间间隔内重复执行一个函数。它接受两个参数,第一个参数是要执行的函数,第二个参数是时间间隔(以毫秒为单位)。 setInterval()方法语法 以下是setInterval()方法…

    other 2023年5月9日
    00
  • php日期格式化方法详解

    PHP日期格式化方法详解 PHP日期格式化方法是一种将日期和时间格式化为特定字符串的方法。以下是一个完整攻略,介绍了如何使用PHP日期格式化方法。 步骤1:获取当前日期和时间 首先,需要获取当前日期和时间。可以使用PHP内置函数date()来获取当前日期和时间。以下是一个示例: $currentDateTime = date(‘Y-m-d H:i:s’); …

    other 2023年5月6日
    00
  • python实战学习之matplotlib绘图

    Python实战学习之matplotlib绘图 Python是一种简洁易懂、功能强大的编程语言,广泛应用于数据处理、科学计算、web开发等各个领域。其中,matplotlib是Python中最流行的绘图库之一,其灵活的API和丰富的功能,使它成为数据可视化的重要工具。本文将介绍如何使用Python中matplotlib库进行数据可视化绘图并实现各种有趣的图表…

    其他 2023年3月28日
    00
  • CentOS下yum软件包管理器的基本使用攻略

    CentOS下yum软件包管理器的基本使用攻略 Yum是CentOS和其他基于Red Hat的Linux发行版中常用的软件包管理器。它可以帮助用户方便地安装、更新和删除软件包。以下是使用Yum的基本步骤和示例说明。 步骤一:更新软件包列表 在使用Yum之前,首先需要更新软件包列表,以确保获取到最新的软件包信息。使用以下命令更新软件包列表: sudo yum …

    other 2023年10月13日
    00
合作推广
合作推广
分享本页
返回顶部