类和对象project3

news/2025/10/26 17:37:31/文章来源:https://www.cnblogs.com/maylet/p/19158135

类和对象

C++面向对象的三大特性:封装,继承,多态
C++认为万事万物都皆为对象,对象上有其属性
具有相同性质的对象,我们可以抽象称为类,人属于人类,车属于车类

封装(project3 filename06 project3 filename07 )

封装的意义:1将属性和行为作为一个整体,表现生活中的事物(project filename06)
class Student {
public://公共权限
//类中的属性和行为 我们统一称为 成员
//属性 成员属性 成员变量
//行为 成员函数 成员方法
//属性
string m_name;
int m_id;
//行为 显示姓名和学号
void func9() {
cout << m_name << endl;
cout << m_id << endl;
}
//给姓名赋值
void setName(string name) {
m_name = name;
}
//给学号赋值
void setId(int id) {
m_id = id;
}

};
int main() {
Student S;//创建一个具体学生 实例化对象
S.setName("安稳");
S.setId(123);
S.func9();
system("pause");
return 0;
}
封装的意义:2将属性和行为加以权限控制 (project filename07)
在类的设计当中 可以把属性和行为放在不同的权限下,加以控制
class Hero {
public :
string m_name;
protected:
string m_car;
private:
int m_password;
public:
void func() {
m_name = "张三";
m_car = "奔驰";
m_password = 888888;
}
};
int main() {
Hero h1;
h1.m_name = "张三";
h1.m_car = "奔驰";//不可以访问
h1.m_password = 888888;//不可以访问
h1.func();
system("pause");
return 0;
}

访问权限有三种

1public 公共权限 成员 类内可以访问 类外可以访问
2protected 保护权限 成员 类内可以访问 类外不可以访问 父类和子类
3private 私有权限 成员 类内可以访问 类外不可以访问

类和对象-封装-c++中class和struct的区别

在C++中 struct和class唯一区别就在与默认的访问权限不同
区别:
struct默认权限公开
class默认权限为私有

成员属性设置为私有(project3 filename8)

优点1:将所有成员属性设置为私有 可以自己控制读写权限
优点2:对于写权限,我们可以检测数据的有效性
using namespace std;
class Person{
public:
//设置姓名
void setName(string name) {
m_Name = name;
}
//获取姓名
string getName() {
return m_Name;
}
private:
string m_Name;//姓名 可读可写
int m_Age;//年龄 只读 get
string m_Idol;//偶像 只写 set

};
int main() {
Person P;
//P.m_Name= "张三 ";
P.setName("张三");
cout << P.getName() << endl;
system("pause");
return 0;
}

类和对象-封装-设计案例1-立方体类project03 FileName09 成员函数和全局函数判断用法和区别

include

include

using namespace std;
class Cube {
public:
void setL(int l) {
m_L = l;
}
int getL() {
return m_L;
}
void setW(int w) {
m_W = w;
}
int getW() {
return m_W;
}
void setH(int h) {
m_H = h;
}
int getH() {
return m_H;
}
//获取立方体面积
int calculateS() {
return 2 * m_L * m_W + 2 * m_W * m_H + 2 * m_L * m_H;
}
//获取立方体体积
int calculateV() {
return m_L * m_H * m_W;
}
//成员函数判断
bool isSameByclass(Cube &c) {
if (m_Lc.getL() && m_H == c.getH() && m_W c.getW()) {
return true;
}
else {
return false;
}
}
private:
int m_L;
int m_W;
int m_H;
};
//利用全局函数进行判断
bool isSame(Cube &c1, Cube &c2) {
if (c1.calculateS()==c2.calculateS()&& c1.calculateV() == c2.calculateV())
{
return true;
}
else {
return false;
}
}
int main() {
Cube c1;
c1.setL(10);
c1.setH(10);
c1.setW(10);
cout << c1.calculateS() << endl;
cout << c1.calculateV() << endl;
Cube c2;
c2.setL(10);
c2.setH(10);
c2.setW(10);
bool ret = isSame(c1,c2);
//cout<<isSame(c1, c2)<<endl;
if (ret) {
cout << "真的" << endl;
}
else {
cout << "假的" << endl;
}
ret = c1.isSameByclass(c2);
if (ret) {
cout << "真的" << endl;
}
else {
cout << "假的" << endl;
}

system("pause");
return 0;

}

类和对象-封装-设计案例2-点和圆的关系project03 FileName10

类也可以作为类里面的成员
类也分文件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/946886.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025年透声膜厂家推荐排行榜,防水透声膜,防水透气透声膜,手表透气透声膜,耳机透气透声膜,智能手环透声膜公司推荐

2025年透声膜厂家推荐排行榜:深度解析行业领先企业 随着智能穿戴设备和消费电子产品的快速发展,透声膜作为关键功能材料在电子产品防水、透声领域发挥着不可替代的作用。从高端智能手表到无线耳机,从运动手环到工业…

2025年包装机厂家权威推荐榜单:全自动包装机,真空包装机,食品包装机,立式包装机源头厂家综合实力解析

2025年包装机厂家权威推荐榜单:全自动包装机,真空包装机,食品包装机,立式包装机源头厂家综合实力解析 随着制造业智能化转型的深入推进,包装机械行业正迎来技术革新的关键时期。全自动包装机、真空包装机、食品包…

2025 ICPC Xian Regional Contest 【LJIF】

2025 ICPC Xian Regional Contest 【LJIF】写在前面 好像不能传播题解,然后这是我自己补的上周那场区域赛,应该没问题吧 怎么说呢,反正 vp 打铁 3 题,补题银牌就补不动了 这里就只放下代码了 该加训了,但是说实话…

安装配置 Claude Code Router 备忘录

通过 zcf 安装和配置 Claude 很简单,但是要在多个模型、供应商之间切换,还是有点麻烦。后来在 zcf 中看到有 CCR 代理,发现这个开源工具可以接入多个模型供应商或多个模型,使用起来方便不少。下面简要记录一下配置…

学弟欢乐赛 - T3 T4 题解

T3 一道经典经典的计数题目。 我们考虑如果没有进行交换的总方案数。 因为要求子序列是 xyz,我们先从 y 开始考虑。我们假设这个 y 前面有 \(cnt1\) 个x,后面有 \(cnt2\) 个,根据乘法原理,我们很容易知道这个 y 的…

2025年空调维保厂家推荐排行榜,空调维保/末端保养/空调保养/空调清洗/水处理公司专业服务与高效维护首选

2025年空调维保厂家推荐排行榜,空调维保/末端保养/空调保养/空调清洗/水处理公司专业服务与高效维护首选 随着现代建筑对室内环境质量要求的不断提升,中央空调系统的稳定运行已成为商业运营和工业生产的重要保障。空…

2025 ICPC Xian Regional Contest

2025 ICPC Xian Regional Contest写在前面 好像不能传播题解,然后这是我自己补的上周那场区域赛,应该没问题吧 怎么说呢,反正 vp 打铁 3 题,补题银牌就补不动了 这里就只放下代码了 该加训了,但是说实话这个难度我…

2025年自动包装机厂家推荐排行榜:食品包装机,药品包装机,五金配件包装机,全自动包装设备公司精选

2025年自动包装机厂家推荐排行榜:食品包装机,药品包装机,五金配件包装机,全自动包装设备公司精选 随着制造业智能化转型的深入推进,自动包装设备行业正迎来技术革新的关键时期。在食品、药品、五金配件等细分领域…

2025 年 10 月系统门窗厂商榜单揭晓,专业智造实力与品牌保障口碑优选

2025 年 10 月系统门窗厂商榜单由中国建筑金属结构协会、全国工商联家具装饰业商会联合发布,此次评选聚焦系统门窗 “制造精细化、保障全周期” 核心要求,以《铝合金门窗》(GB/T 8478-2008)及《系统门窗技术要求》…

2025年半自动包装机厂家权威推荐榜:食品/医药/化工行业专用机型精选,高效稳定与性价比之选

2025年半自动包装机厂家权威推荐榜:食品/医药/化工行业专用机型精选,高效稳定与性价比之选 随着现代工业自动化水平的不断提升,半自动包装机在食品、医药、化工等行业的应用日益广泛。这类设备在保持人工操作灵活性…

2025年环境试验设备厂家推荐排行榜,冷热冲击/高低温/快速温变试验箱,氙灯/紫外耐候气候环境试验箱,步入式/恒温恒湿试验箱,高压加速老化/HAST/PCT试验箱,机械环境/淋雨/砂尘试验箱公司推荐

2025年环境试验设备厂家推荐排行榜:权威评测与采购指南 环境试验设备作为产品质量验证的关键工具,在电子、汽车、航空航天、新材料等领域发挥着不可替代的作用。随着技术进步和行业标准的提升,环境试验设备的技术含…

OI 笑传 #23

Yushinron今天是 ABC429 CDEF。被 E 卡到破防说是。代码能力场。 ABC429C 给三元组的样子分个类,\(AAB,ABB,ABA\) 这三种。 对于前两种,用个桶前缀后缀一下算贡献即可。 对于中间的,我们动态维护每种数左边和右边数…

[ java 锁 - 04 - Integer o = 1 作为 锁的问题]

关于 Integer 作为锁对象的风险总结 核心结论 Integer(如 Integer lock = 1;)不适合作为 synchronized 的锁对象,因缓存复用和不可变性导致同步逻辑失效。 关键风险点缓存复用导致锁冲突 Java 对 [-128, 127] 范围内…

2025年自动提升机厂家权威推荐榜单:专业制造与高效解决方案深度解析

2025年自动提升机厂家权威推荐榜单:专业制造与高效解决方案深度解析 在工业自动化快速发展的今天,自动提升机作为物料输送系统的核心设备,其性能优劣直接影响生产效率和运营成本。随着智能制造和工业4.0理念的深入应…

golang: gin项目常用第三方库

一,安装gin $ go get github.com/gin-gonic/gin@latest二,安装zap $ go get -u go.uber.org/zap三,安装validator $ go get -u github.com/go-playground/validator/v10四,安装gorm gorm $ go get -u gorm.io/gorm …

ssh: 连接报错

一,报错信息: $ ssh -p 22 root@123.124.125.84 Unable to negotiate with 123.124.125.84 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss 二,问题原因 个错误消息表明你的SSH客户端和服…

python3: ubuntu上安装时报错: No module named zlib

一,报错信息: Traceback (most recent call last):File "<frozen zipimport>", line 620, in _get_decompress_func ModuleNotFoundError: No module named zlib二,解决: 安装zlib库 # wget https:/…

2025年提升机厂家权威推荐榜:自动提升机、垂直提升机、斗式提升机、物料提升设备源头厂家精选

2025年提升机厂家权威推荐榜:自动提升机、垂直提升机、斗式提升机、物料提升设备源头厂家精选 在工业自动化快速发展的今天,提升机作为物料输送系统的核心设备,其性能直接影响生产效率和运营成本。随着智能制造理念…

[java 锁 - 03 重入写法 ]

可重入锁的核心是“同一线程可重复获取同一把锁”,Java 中 synchronized 和 ReentrantLock 都是可重入锁,写法各有特点。下面分别两种锁的可重入用法示例,清晰展示“重复获取锁”的场景: 一、synchronized 可重入写…

2025年包装机厂家权威推荐榜:自动包装机,半自动包装机,高效包装设备源头厂家精选与选购指南

2025年包装机厂家权威推荐榜:自动包装机,半自动包装机,高效包装设备源头厂家精选与选购指南 随着制造业智能化转型的深入推进,包装机械行业正迎来技术革新的关键时期。自动包装机和半自动包装机作为生产线的重要环…