【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 小时前
C++ 基础入门完全指南
c++
用户805533698031 天前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
BadBadBad__AK2 天前
线段树维护区间 k 次方和
c++·数学·算法·stl
卷无止境2 天前
Eigen 库如何借助 OpenMP 加速计算
c++·后端
卷无止境2 天前
OpenMPI、MPICH 与 OpenMP:关系、核心概念与架构全解
c++·后端
郝学胜_神的一滴3 天前
CMake 30:循环语法全解|foreach_while双循环精讲、迭代技巧与实战避坑指南
c++·cmake
卷无止境5 天前
C++ 的Eigen 库全解析
c++
卷无止境5 天前
现代 C++特性大盘点:一门脱胎换骨的老语言
c++·后端
郝学胜_神的一滴5 天前
CMake 27:缓存变量的特性、语法、类型与实操全解
c++·cmake
博客18007 天前
酷宝的使用方法,超好用的免费界面库,C++、MFC可用
c++·mfc·界面库·库来帮·酷宝