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

yizhihongxing

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日

相关文章

  • MySQL如何修改字段类型和字段长度

    MySQL修改字段类型和字段长度的过程相对简单,下面我将为大家详细讲解完整攻略,包含两个示例说明。 步骤一:使用ALTER TABLE命令修改字段类型 使用ALTER TABLE命令可以修改已有表格的字段类型。下面是一些示例: 将字段类型从INT改为VARCHAR(50) ALTER TABLE customers MODIFY column_name VA…

    other 2023年6月25日
    00
  • vue使用xe-utils函数库的具体方法

    Vue使用xe-utils函数库的具体方法 xe-utils是一个轻量级的JavaScript函数库,提供了许多实用的工具函数,可以用于Vue项目中。本文将详细讲解如何在Vue中使用xe-utils函数。 以下是使用xe-utils函数的具体方法: 1. 安装xe-utils 首先,需要安装xe-utils。可以使用命令进行安装: npm install x…

    other 2023年5月7日
    00
  • C盘哪些文件可以删除?最全的C盘可删除文件清单汇总

    C盘可删除文件清单攻略 C盘是计算机系统的主要盘符,存储着操作系统和其他重要文件。然而,有些文件可以被删除以释放磁盘空间。在删除任何文件之前,请确保您了解其功能和影响,并备份重要数据。 以下是一些常见的C盘可删除文件的清单: 1. 临时文件 临时文件是由应用程序和系统生成的临时数据文件。它们通常位于以下目录中: C:\Windows\Temp C:\User…

    other 2023年8月2日
    00
  • 一文带你搞懂JavaScript中数组的特性

    一文带你搞懂JavaScript中数组的特性 在JavaScript中,数组是一种特殊的数据类型,具有一些特殊的属性和方法。本文将介绍JavaScript中数组的特性和使用方法。 定义数组 定义数组可以使用[]或new Array()。例如: let arr1 = [1, 2, 3]; let arr2 = new Array(1, 2, 3); 数组的长度…

    other 2023年6月25日
    00
  • zabbix 代理服务器的部署与 zabbix-snmp 监控问题

    部署 Zabbix 代理服务器和 Zabbix-SNMP 监控需要以下步骤: 1. 安装 Zabbix 代理端 首先,我们需要在目标主机上安装 Zabbix 代理端,然后将其连接到 Zabbix 服务器。Zabbix 代理端的安装可以使用适合操作系统的包管理器或下载源代码进行编译安装。例如,对于 Ubuntu,可以使用以下命令安装官方提供的 Zabbix 代…

    other 2023年6月27日
    00
  • 电脑禁用迅雷插件后谷歌浏览器还是会自动默认迅雷下载如何处理

    以下是“电脑禁用迅雷插件后谷歌浏览器还是会自动默认迅雷下载如何处理”的完整攻略: 电脑禁用迅雷插件后谷歌浏览器还是会自动默认迅雷下载如何处理 在使用谷歌浏览器下载文件时,有时会出现默认使用迅雷下载的情况。即使我们已经禁用了迅雷插件,谷歌浏览器仍然会自动使用迅雷下载。本攻略将详细讲解如何处理这种情况。 方法一:更改下载设置 我们可以通过更改谷歌浏览器的下载设置…

    other 2023年5月8日
    00
  • Android RecyclerView设置下拉刷新的实现方法

    当在Android应用中使用RecyclerView时,可以通过添加下拉刷新功能来提升用户体验。下面是实现Android RecyclerView下拉刷新的完整攻略: 添加依赖库:首先,在项目的build.gradle文件中添加RecyclerView和SwipeRefreshLayout的依赖库。在dependencies块中添加以下代码: impleme…

    other 2023年9月7日
    00
  • Win10系统怎么修改电脑IP地址?

    Win10系统修改电脑IP地址攻略 步骤一:打开网络设置 在任务栏的右下角,找到并点击网络图标(Wi-Fi或以太网连接图标)。 在弹出的菜单中,点击“网络和Internet设置”。 步骤二:进入网络设置 在“网络和Internet设置”页面,点击左侧的“更改适配器选项”。 这将打开“网络连接”窗口,显示所有可用的网络连接。 步骤三:选择网络连接 在“网络连接…

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