尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

类和对象project3

类和对象project3
📅 发布时间:2026/6/24 18:20:16

类和对象

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

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

相关新闻

  • 2025年透声膜厂家推荐排行榜,防水透声膜,防水透气透声膜,手表透气透声膜,耳机透气透声膜,智能手环透声膜公司推荐
  • 2025 ICPC Xian Regional Contest 【LJIF】
  • 安装配置 Claude Code Router 备忘录

最新新闻

  • Playwright自定义插件开发实战:从UI快照到MCP集成
  • Kali Linux下Snort 3源码编译与部署实战指南
  • FPGA开发中的JTAG边界扫描:原理、实战与系统级测试方案
  • 移动应用数据提取分析实战:微信、企微、钉钉合规取证与逆向解析
  • 基于OSS_Scanner改造的腾讯云COS存储桶自动化安全检测方案
  • DHT11单总线时序精解:STM32微秒级延时与寄存器级驱动实战

日新闻

  • 终极指南:如何用shadPS4在电脑上免费畅玩PS4游戏
  • 打造个性化Instagram Clone:主题定制与用户体验优化技巧
  • 未来展望:RoseTTAFold-All-Atom的发展路线图与社区支持资源汇总

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号