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日

相关文章

  • Vue源码分析之Vue实例初始化详解

    Vue源码分析之Vue实例初始化详解 在Vue的整个生命周期中,实例初始化是非常重要的一步。在这个过程中,Vue会完成组件的各种配置、数据响应式化、挂载元素等操作。下面是Vue实例初始化的详细攻略。 1. 入口 Vue实例初始化的入口是src/core/instance/index.js文件中的Vue.prototype._init方法。这个方法会在Vue创…

    other 2023年6月20日
    00
  • TP路由器怎么重启?TP-Link无线路由器重启方法介绍

    TP路由器怎么重启?TP-Link无线路由器重启方法介绍 为什么需要重启? 当我们的TP-Link无线路由器或者TP路由器长时间运行之后,有可能会出现一些问题,比如网络速度变慢、无法连接等等。这时候,我们可以考虑重启路由器,以解决这些问题。 TP路由器如何重启? 方法一 通过路由器后台页面重启 打开浏览器,进入路由器后台管理界面。 输入路由器的用户名和密码,…

    other 2023年6月26日
    00
  • 详解配置 Apache 服务器支持 PHP 文件的解析

    下面是详解配置 Apache 服务器支持 PHP 文件的解析的完整攻略。 1. 安装 Apache 和 PHP 首先,确保服务器已经安装了 Apache 和 PHP,这可以通过以下命令来检查: $ sudo apt-get update $ sudo apt-get install apache2 $ sudo apt-get install php lib…

    other 2023年6月27日
    00
  • C语言数组的各种操作梳理

    C语言数组的各种操作梳理 1. 定义数组 定义数组需要指定数组的类型、名称和元素个数,语法如下: type arrayName[arraySize]; 示例1:定义一个长度为10的整型数组 int numbers[10]; 示例2:定义一个长度为5的double类型数组 double scores[5]; 2. 数组初始化 数组初始化可以在定义时进行,通过一…

    other 2023年6月25日
    00
  • Win11中的照片应用程序有哪些新功能?获得新的照片应用程序方法

    Win11中的照片应用程序相对于之前的版本,添加了不少新功能。以下是获得新的照片应用程序方法和新增功能的详细攻略: 获得新的照片应用程序方法 Win11默认自带照片应用程序,如果你的Win11系统是最新版,可以在开始菜单中找到照片应用程序图标,单击即可运行。如果你的系统不是最新版或者无法运行自带的照片应用程序,可以通过微软商店获得新的照片应用程序方法。 在开…

    other 2023年6月25日
    00
  • Android中通过MediaStore获取音乐文件信息方法

    以下是使用标准的Markdown格式文本,详细讲解Android中通过MediaStore获取音乐文件信息的完整攻略: Android中通过MediaStore获取音乐文件信息方法 步骤1:添加权限和依赖 在AndroidManifest.xml文件中添加读取外部存储权限: <uses-permission android:name=\"an…

    other 2023年10月14日
    00
  • Win11 KB5027305发布:Beta版本升至 22621.1835/22631.1835

    Win11 KB5027305发布:Beta版本升至 22621.1835/22631.1835攻略 Win11 KB5027305是Windows 11操作系统的一个重要更新,它将Beta版本升级至22621.1835/22631.1835。本攻略将详细介绍如何完成这个升级过程。 步骤一:检查更新 首先,确保你的计算机已连接到互联网。然后按照以下步骤检查更…

    other 2023年8月3日
    00
  • Linux中多命令执行’;’和’&&’的区别解释

    在Linux中,可以通过使用多命令组合来完成复杂的操作,常见的多命令执行方式有’;’和’&&’。它们的区别如下: ‘;’ 分号: “;”是一种简单的命令组合方式,它可以顺序执行多条命令,即不管前面的命令是否执行成功都会执行后面的命令。 示例1:执行两条命令 $ echo ‘hello’; echo ‘world’ hello world 示例…

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