登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
签到
每天签到奖励2-10圆
导读
排行榜
TG频道
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
VIP申请
VIP网盘
网盘
联系我们
发帖说明
每日签到
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
资源区
›
代码
›
c++学习笔记(四):面向对象
c++学习笔记(四):面向对象
[ 复制链接 ]
窟聿湎
2025-6-4 16:48:21
目录
类 & 对象
封装
访问权限
类的构造函数&析构函数
构造函数的分类及调用
拷贝构造函数的调用时机
构造函数调用规则
深拷贝与浅拷贝
初始化列表
类对象作为类成员
静态成员
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
学习
笔记
面向
对象
相关帖子
吴恩达深度学习课程一:神经网络和深度学习 第二周:神经网络基础(三)
强化学习系统性学习笔记(二):策略优化的理论基础与算法实现
每周读书与学习->初识JMeter 元件(四)
QGIS开发笔记(四):QgsRasterLayer加载Cesium二维地图的瓦片地图数据到QGIS
读高性能MySQL(第4版)笔记15_备份与恢复(下)
学习ReAct并使用langgraph实现一个简单的ReAct AI Agent!!
一生一芯学习:基础设施(2)
HTML学习日记
论文分享-ETEGRec:端到端可学习的物品分词与生成式推荐
vip免费申请,1年只需15美金$
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
吴恩达深度学习课程一:神经网络和深度学习 第二周:神经网络基础(三)
0
167
辖瑁地
2025-10-09
业界
强化学习系统性学习笔记(二):策略优化的理论基础与算法实现
0
497
副我
2025-10-09
业界
每周读书与学习->初识JMeter 元件(四)
0
435
公新蕾
2025-10-09
业界
QGIS开发笔记(四):QgsRasterLayer加载Cesium二维地图的瓦片地图数据到QGIS
0
949
姘轻拎
2025-10-10
安全
读高性能MySQL(第4版)笔记15_备份与恢复(下)
1
5
蓝娅萍
2025-10-10
业界
学习ReAct并使用langgraph实现一个简单的ReAct AI Agent!!
0
31
稼布欤
2025-10-10
业界
一生一芯学习:基础设施(2)
0
352
毋峻舷
2025-10-10
安全
HTML学习日记
0
469
季卓然
2025-10-10
业界
论文分享-ETEGRec:端到端可学习的物品分词与生成式推荐
0
426
雌鲳签
2025-10-11
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
签约作者
程序园优秀签约作者
发帖
窟聿湎
2025-6-4 16:48:21
关注
0
粉丝关注
14
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994888
dage888
999994
富账慕
10007
4
柴古香
9995
5
匝抽
9986
6
筒濂
9983
7
孙淼淼
9992
8
凌彦慧
9985
9
崔瑜然
9984
10
慢秤
9979
查看更多