登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
资源区
›
代码
›
c++学习笔记(四):面向对象
c++学习笔记(四):面向对象
[ 复制链接 ]
窟聿湎
2025-6-4 16:48:21
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
目录
类 & 对象
封装
访问权限
类的构造函数&析构函数
构造函数的分类及调用
拷贝构造函数的调用时机
构造函数调用规则
深拷贝与浅拷贝
初始化列表
类对象作为类成员
静态成员
C++对象模型和this指针
成员变量和成员函数分开存储
this指针概念
空指针访问成员函数
const修饰成员函数
友元
全局函数做友元
类做友元
成员函数做友元
运算符重载
加号运算符重载
左移运算符重载
递增 / 递减运算符重载
赋值运算符重载
关系运算符重载
函数调用运算符重载
继承
基本语法
继承方式
构造和析构顺序
继承同名成员处理方式
多继承
菱形继承
多态
多态的基本概念
多态案例(一)——计算器类
纯虚函数和抽象类
多态案例(二)——饮品类
虚析构和纯虚析构
多态案例(三)—— 电脑组装
类 & 对象
c++面向对象的三大特征为:
封装、继承、多态
封装
封装的意义:
将属性和行为作为一个整体,表现生活中的事物(数据成员和方法)
将属性和行为加以权限控制(访问修饰符)
类中的属性和行为我们一般称为
成员
,属性为成员属性,行为是成员方法
这里以盒子为例,定义一个类,并声明两个对象
class Box
{
//访问权限
//公共权限
public:
//数据成员
double lenth; //长
double breadth; //宽
double height; //高
//方法
//求盒子体积
double cal_Volume()
{
return lenth * breadth * height;
}
};
int main()
{
Box box1; // 声明 box1,类型为 Box
Box box2; // 声明 box2,类型为 Box
//对象box1和box2都有他们各自的成员
}
复制代码
访问权限
类在设计时,可以把属性和行为放在不同的权限下来加以控制
访问权限有三种:
public 公共权限
其成员类内可以访问,类外可以访问
protected 保护权限
其成员类内可以访问,类外不可以访问,但在子类(派生类)中可以访问
private(默认) 私有权限
其成员类内可以访问,类外不可以访问,不可查看
class Person
{
public:
String name;
protected:
int age;
int id_card;//默认为private
public:
func()
{
name = "alen";
age = 26;
id_card = 114514;
}
};
int main()
{
Person p;
p.name = "walker";
p.age = 23;//报错,类外不能访问
p.id_card = 1919810;//报错,类外不能访问
}
复制代码
struct和class区别
两者的
唯一区别
在于
默认的访问权限
:
struct默认权限为公共
class默认权限为私有
class C1
{
int a; //默认是私有权限 private
};
struct C2
{
int a; //默认是公共权限 public
};
复制代码
成员属性设置为私有
优点:
将所有成员属性设置为私有,可以自己控制读写权限
对于写权限,我们可以检测数据的有效性
[code]class Person{ public: //设置名字 void setName(string name) { m_Name = name; } //设置偶像 void setIdol(string idol) { m_Idol = idol; } //设置年龄 void setAge(int age) { if (age < 0 || age > 150) { cout
学习
笔记
面向
对象
相关帖子
吴恩达深度学习课程四:计算机视觉 第二周:经典网络结构 (四)CV 方法论
Java函数式接口——渐进式学习
C++学习笔记 23 宏 Macro
【Agent】MemOS 源码笔记---(6)---MemScheduler -- 总体
AgentScope深入学习-总体认识
PHP 之高级面向对象编程 深入理解设计模式、原则与性能优化
PHP 之高级面向对象编程 深入理解设计模式、原则与性能优化
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
吴恩达深度学习课程四:计算机视觉 第二周:经典网络结构 (四)CV 方法论
0
264
祺簇
2025-12-18
业界
Java函数式接口——渐进式学习
0
496
列蜜瘘
2025-12-18
业界
C++学习笔记 23 宏 Macro
1
772
呼延冰枫
2025-12-18
业界
【Agent】MemOS 源码笔记---(6)---MemScheduler -- 总体
1
321
上官银柳
2025-12-18
业界
AgentScope深入学习-总体认识
0
251
剧拧并
2025-12-19
业界
PHP 之高级面向对象编程 深入理解设计模式、原则与性能优化
0
420
俞瑛瑶
2025-12-20
业界
PHP 之高级面向对象编程 深入理解设计模式、原则与性能优化
0
419
齐娅晶
2025-12-20
回复
(4)
威割
2025-11-13 06:00:03
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
东西不错很实用谢谢分享
蔓好
2025-11-26 18:19:09
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享
芮梦月
2025-11-30 23:15:52
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
新版吗?好像是停更了吧。
拼潦
前天 06:30
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢楼主提供!
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
签约作者
程序园优秀签约作者
发帖
窟聿湎
前天 06:30
关注
0
粉丝关注
15
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845357
4
xiangqian
638210
5
韶又彤
9997
6
宋子
9981
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9950
查看更多
今日好文热榜
688
当遇见 CatchAdmin V5-模块化设计重新定义
490
【有手就行】SWIFT:花20分钟把大模型的名
559
论文速读记录 | 2025.12(2)
373
浮点数的本质:为什么计算机无法精确表示0.
726
Flink源码阅读:如何生成JobGraph
928
Python 潮流周刊#132:30 年 Python 自由职
481
大模型榜单周报(2025/12/20)
157
【节点】[LinearToGammaSpaceExact节点]原
789
Aspire 与 Azure Functions 深度集成:架构
1003
阿里Z-Image图像生成模型容器部署
310
痞子衡嵌入式:16MB以上NOR Flash地址模式
668
最新AI换脸软件,全面升级可直播,Mirage下
451
热点 Key 与大 Key 治理——识别、拆分、预
646
Media Extended
330
vlookup的终结者splookup,9个案例讲透查询
872
ROS2之Launch介绍
895
精选 8 个 .NET 开发实用的类库,效率提升
110
精选 8 个 .NET 开发实用的类库,效率提升
600
精选 8 个 .NET 开发实用的类库,效率提升
173
精选 8 个 .NET 开发实用的类库,效率提升