【C++类的基本概念与定义】

C++类的基本概念与定义

1、类的本质

C++ 中的类(Class)是面向对象编程(OOP)的核心,核心思想是 "将数据和行为绑定",实现代码的封装、复用和模块化。

类是用户自定义的数据类型,封装了数据(成员变量 / 属性)和操作数据的方法(成员函数 / 方法),

class 类名 {

// 访问权限修饰符(默认private)

private: // 私有成员:仅类内部可访问(默认)

私有成员变量/函数;

public: // 公有成员:类外部可访问(接口)

公有成员变量/函数;

protected: // 保护成员:类内部+子类可访问

保护成员变量/函数;

}; // 注意分号结尾

访问权限修饰符的区别说明:

修饰符 访问范围

private 仅类内部(成员函数)可访问 成员变量默认设为 private,保护数据

public 类内部 + 外部均可访问 成员函数(接口)设为 public

protected 类内部 + 子类可访问 竞赛中极少用(几乎不用继承)

2、举例说明

#include

#include

#include

using namespace std;

// 基础版本学生类

class Student {

private:

string name;

int age;

string studentId;

double score;

public:

// 带参数的构造函数

Student(string n, int a, string id) {

name = n;

age = a;

studentId = id;

score = 0.0;

cout << "三参数构造函数被调用: " << name << endl;

}

// 完整参数的构造函数

Student(string n, int a, string id, double s)

: name(n), age(a), studentId(id), score(s) {

cout << "四参数构造函数被调用: " << name << endl;

}

// 析构函数

~Student() {

cout << "析构函数被调用: " << name << " 被销毁" << endl;

}

// 成员函数(方法)

void displayInfo() const {

cout << "========== 学生信息 " << endl;
cout << "姓名: " << name << endl;
cout << "年龄: " << age << endl;
cout << "学号: " << studentId << endl;
cout << "成绩: " << score << endl;
cout << "================" << endl;

}

};

3、构造函数(初始化对象)

核心特性

函数名与类名完全相同,无返回值(连void都没有);

实例化对象时自动调用,用于初始化成员变量;

可重载(多个构造函数,参数列表不同);

若未定义构造函数,编译器会生成默认构造函数(无参,空实现)。

4、析构函数(清理资源)

核心特性

函数名:~类名(),无返回值、无参数;

对象销毁时自动调用(如超出作用域、delete 释放);

仅能有一个析构函数,不可重载;

若未定义,编译器生成默认析构函数(空实现)。

相关推荐
默 语3 分钟前
Records、Sealed Classes这些新特性:Java真的变简单了吗?
java·开发语言·python
止观止3 分钟前
拥抱 ESNext:从 TC39 提案到生产环境中的现代 JS
开发语言·javascript·ecmascript·esnext
卷心菜狗13 分钟前
Python进阶-深浅拷贝辨析
开发语言·python
时寒的笔记14 分钟前
js逆向7_案例惠nong网
android·开发语言·javascript
Evand J31 分钟前
【MATLAB例程】基于低精度IMU、GNSS的UAV初始航向(三维角度)校准的仿真,包含卡尔曼滤波、惯导解算与校正
开发语言·matlab·gnss·imu·卡尔曼滤波
feng_you_ying_li37 分钟前
c++之哈希表的介绍与实现
开发语言·c++·散列表
网域小星球44 分钟前
C 语言从 0 入门(十四)|文件操作:读写文本、保存数据持久化
c语言·开发语言·文件操作·fopen·fprintf
网域小星球1 小时前
C 语言从 0 入门(七)|字符数组与字符串完整精讲|VS2022 高质量实战
c语言·开发语言·字符串·vs2022·字符数组
Jia ming1 小时前
C语言实现日期天数计算
c语言·开发语言·算法
xh didida1 小时前
C++ -- string
开发语言·c++·stl·sring