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

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

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

相关推荐
yuuki2332336 分钟前
【C++】掌握list:C++链表容器的核心奥秘
c++·后端·链表·list
Chen不旧9 分钟前
Java模拟死锁
java·开发语言·synchronized·reentrantlock·死锁
菩提树下的凡夫18 分钟前
如何将python的程序py文件转换为exe程序
开发语言·python
萧曵 丶20 分钟前
Java 安全的单例模式详解
java·开发语言·单例模式
superman超哥25 分钟前
Rust 错误处理模式:Result、?运算符与 anyhow 的最佳实践
开发语言·后端·rust·运算符·anyhow·rust 错误处理
lly20240625 分钟前
Web 品质样式表
开发语言
Wang's Blog26 分钟前
Nodejs-HardCore: 模块管理与I/O操作详解
开发语言·nodejs
微爱帮监所写信寄信26 分钟前
微爱帮监狱寄信写信小程序PHP底层优化框架
java·开发语言·数据库·spring·微信·php·mybatis
lly20240629 分钟前
R 语言注释指南
开发语言