C++ 类和对象基础篇

C++ 类和对象基础篇

什么是类和对象

在C++中,类是一种自定义的数据类型,也是一种数据结构。它可以包含变量和函数,这些变量和函数被称为类的成员。对象是类的一个实例,是具有类定义的属性和操作的变量。

如何定义类

在C++中,通过关键字class来定义一个类。通常格式如下:

class ClassName{
    private:  //私有成员
        int member1;
        string member2;
    public:  //公有成员
        void func1();
        double func2(int para);
};

其中,private关键字用来表示私有成员,只有类内部可以访问;public关键字用来表示公有成员,可以在类内部和外部访问。

如何创建对象

在C++中,通过new关键字来创建一个对象。通常格式如下:

ClassName* objectName = new ClassName();

也可以直接创建一个对象,格式如下:

ClassName objectName;

如何访问成员

在C++中,可以通过“.”来访问对象的成员。例如,访问对象的成员函数,格式如下:

objectName.func1();

访问对象的成员变量,格式如下:

objectName.member1;

示例

下面通过两个示例来说明类和对象的基本使用。

示例1:点坐标类

#include<iostream>
using namespace std;

class Point{
private:
    int x;
    int y;
public:
    void setPoint(int a, int b){
        x = a;
        y = b;
    }
    int getx(){
        return x;
    }
    int gety(){
        return y;
    }
    void print(){
        cout<<"("<<x<<","<<y<<")"<<endl;
    }
};

int main(){
    Point p;
    p.setPoint(3,4);
    p.print();
    return 0;
}

在示例中,我们定义了一个Point类,它包含私有成员xy,分别表示点的横坐标和纵坐标。还定义了公有成员setPoint()getx()gety()print(),分别用来设置坐标、获取坐标和打印坐标。在main()函数中,创建了一个Point对象p,并通过setPoint()设置了坐标,最后通过print()函数打印了坐标。

示例2:学生类

#include<iostream>
#include<string>
using namespace std;

class Student{
private:
    string name;
    int age;
    int score;
public:
    void setName(string n){
        name = n;
    }
    void setAge(int a){
        age = a;
    }
    void setScore(int s){
        score = s;
    }
    void print(){
        cout<<"Name:"<<name<<endl;
        cout<<"Age:"<<age<<endl;
        cout<<"Score:"<<score<<endl;
    }
};

int main(){
    Student stu;
    stu.setName("Tom");
    stu.setAge(18);
    stu.setScore(89);
    stu.print();
    return 0;
}

在示例中,我们定义了一个Student类,它包含私有成员nameagescore,分别表示学生的姓名、年龄和分数。还定义了公有成员setName()setAge()setScore()print(),分别用来设置和获取学生的信息和打印学生的信息。在main()函数中,创建了一个Student对象stu,并通过setName()setAge()setScore()分别设置了学生的姓名、年龄和分数,最后通过print()函数打印了学生的信息。

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

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

相关文章

  • app判断链接参数后缀跳转不同地址的方法

    当我们需要根据链接参数后缀来跳转到不同的地址时,可以使用以下方法: 首先,我们需要获取链接中的参数后缀。可以使用编程语言中的字符串处理函数或正则表达式来提取参数后缀。例如,在JavaScript中,可以使用window.location.search来获取链接中的查询字符串,然后使用字符串处理函数或正则表达式提取参数后缀。 接下来,我们可以使用条件语句(如i…

    other 2023年8月5日
    00
  • win10更新失败无限重启怎么办?win10更新失败撤销更改无限重启解决方法

    Win10更新失败无限重启怎么办? 问题描述 Win10更新失败后,有可能出现系统无限重启的情况,此时需要采取哪些措施来解决呢? 解决方案 以下是针对Win10更新失败无限重启的具体解决方案。 方案一:进入安全模式 将电脑重启至安全模式; 进入”设置”-“更新和安全”-“Windows更新”,点击”检查更新”; 根据更新提示进行操作。 方案二:使用命令行工具…

    other 2023年6月27日
    00
  • C++ 回调接口设计和二进制兼容详细

    C++ 回调接口设计和二进制兼容详细攻略 概述 在 C++ 编程过程中,回调接口是常用的设计模式。它能够实现模块之间的解耦,提高代码的复用性和可读性。当接口发生变化时,需要注意二进制兼容性,以免出现不兼容的情况。 本攻略将介绍如何在设计回调接口时考虑到二进制兼容性问题。 接口设计 函数签名的选择 在设计回调接口时,我们需要考虑到其使用场景,确定接口的函数签名…

    other 2023年6月26日
    00
  • vue使用动态组件实现TAB切换效果完整实例

    Vue使用动态组件实现TAB切换效果完整实例攻略 在Vue中,我们可以使用动态组件来实现TAB切换效果。动态组件允许我们根据不同的条件渲染不同的组件,从而实现TAB切换的效果。下面是一个完整的实例攻略,包含了两个示例说明。 示例一:基本的TAB切换 首先,我们需要创建一个Vue组件,用于实现TAB切换的功能。我们可以将TAB切换的内容封装在一个单独的组件中,…

    other 2023年9月7日
    00
  • Shell正则表达式验证IP地址

    Shell正则表达式验证IP地址攻略 在Shell脚本中,可以使用正则表达式来验证IP地址的格式是否正确。下面是一个详细的攻略,包含了验证IP地址的正则表达式以及两个示例说明。 正则表达式验证IP地址的格式 IP地址由四个数字组成,每个数字的取值范围是0到255。为了验证IP地址的格式是否正确,可以使用以下正则表达式: ^((25[0-5]|2[0-4][0…

    other 2023年7月30日
    00
  • 08001无法远程连接sqlserver数据库800

    如果您在远程连接SQL Server数据库时遇到了“08001无法远程连接SQL Server数据库800”错误,可以按照以下步骤进行排查: 首先,您需要确认SQL Server是否已启用远程连接。默认情况下,SQL Server不允许远程连接。您可以按照以下步骤启用远程连接: 打开SQL Server Configuration Manager。 选择SQ…

    other 2023年5月7日
    00
  • Vue body样式修改方式

    Vue body样式修改方式 1. 使用内联样式 在Vue中,可以直接通过给<body>标签添加style属性来修改body样式。这种方式适用于修改单个样式属性或者临时性的样式修改。例如: <template> <div> <button @click="changeBodyColor">C…

    other 2023年6月28日
    00
  • Windows 系统组策略应用全攻略(下)

    完整的Windows 系统组策略应用攻略主要包括以下过程: 1. 理解Windows系统的组策略 在Windows系统中,组策略是一种集中管理多个计算机或用户在其上运行的操作系统的技术。它可以通过中央的组策略对象 (GPO) 库来配置全局策略设置,以及应用于个别计算机或用户的本地策略设置。常用的策略设置包括安全设置、网络设置、应用配置等等。 2. 配置组策略…

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