【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 释放);

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

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

相关推荐
计算机学姐2 小时前
基于Python的在线考试系统【2026最新】
开发语言·vue.js·后端·python·mysql·django·flask
dragoooon342 小时前
[C++——lesson16.STL 学习——【string的模拟实现】]
c++·学习
hetao17338372 小时前
2025-12-10 hetao1733837的刷题笔记
c++·笔记·算法
aini_lovee2 小时前
直接序列扩频(DSSS)通信系统MATLAB仿真指南
开发语言·matlab
天上飞的粉红小猪2 小时前
线程概念&&控制
linux·开发语言·c++
Cherry的跨界思维2 小时前
19、自动化处理双核心:Java规则引擎与Python Selenium实战全解析
java·开发语言·python·自动化·办公自动化·python办公自动化·python办公
ZouZou老师2 小时前
C++设计模式之命令模式:以家具生产为例
c++·设计模式·命令模式
muyouking112 小时前
Zig 类型系统探索_1:从指针、浮点数到字符串的实践指南
开发语言
hz_zhangrl2 小时前
CCF-GESP 等级考试 2025年9月认证C++五级真题解析
开发语言·数据结构·c++·算法·青少年编程·gesp·2025年9月gesp