怎么理解C++中的类和对象
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,怎么理解C++中的类和对象,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。c++类的由来(或者说为什么要增加类):我们知道
千家信息网最后更新 2025年01月31日怎么理解C++中的类和对象
怎么理解C++中的类和对象,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
c++类的由来(或者说为什么要增加类):我们知道c语言是面向过程的语言,c++是即面向过程又是面向过程的语言。那么这两个有着什么样的区别和联系呢?
C语言和C++的一大区别
接下来我们利用c语言的struct来说明:
C 语言中,结构体中只能定义变量。 在 C++ 中,结构体内不仅可以定义变量,也可以定义函数。 例如:如果我们用C语言实现一下的功能,那么我们会发现,在struct内我们只能去定义一些变量 的类型,而我们需要的函数反而要去单独去实现
typedef struct Student { char _name[20]; int _age; char _sex[10];}student; void SetStudentInfo(const char* name, const char* sex, int age) {strcpy(_name, name);strcpy(_sex, gender);_age = age; } void print(student *s) { printf("%c:%age-%c", s->_name, s->_age, s->_sex); }
在c++内实现的话是:
// 这里是为了和c语言做出区别所以将函数的定义也直接放到结构体内作为内联函数,如果函数的定义代码很多或者需要调用的次数多建议此处就只进行声明,之后在单独进行定义struct Student { void SetStudentInfo(const char* name, const char* sex, int age) {strcpy(_name, name);strcpy(_sex, gender);_age = age; } void print(student *s) { printf("%c:%age-%c", s->_name, s->_age, s->_sex);//此处为了区别和c语言struct的不同点利用了c语言的输出方法 } char _name[20]; int _age; char _sex[10];};
从上述例子我们可以看出在c++中struct可以包含函数的定义和变量,反观在c语言内struct就只能包含变量。
struct和class的区别
在c++中我们引入一个关键词class来指定指定这种既可以包含变量又可以包含函数声明的类型即为c++的类。struct在c++中也是类但是和class修饰还是有一些区别。我们用上述代码来说明这个区别:
这是struct修饰的类
struct Student { void SetStudentInfo(const char* name, const char* sex, int age); void print(student *s) char _name[20]; int _age; char _sex[10];}
这是class修饰的类
struct Student {public:void SetStudentInfo(const char* name, const char* sex, int age); void print(student *s) private: char _name[20]; int _age; char _sex[10];}
在类中我们保护我们我们的数据,我们引入三种修饰:public
、private
、protected
,这三个关键词代表着不同的权限。
而struct默认的是成员函数和成员变量都是public,而class修饰的话成员函数和成员变量都是必须给予修饰的,一般我们是将成员函数用public修饰而成员变量我们用private修饰。
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
语言
函数
变量
c++
成员
C++
结构
过程
不同
代码
关键
关键词
类型
这是
帮助
对象
清楚
接下来
三个
不同点
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
高青物流竞价软件开发公司
达梦数据库索引失效
三级网络技术教程百度文库
服务器搭建通讯管理机
三级网络安全标准
大连虎爸爸计算机软件开发
软件开发系统报价格式
网络安全手抄报闪容
原神手机号登录的是什么服务器
软件开发女生学
网站后台服务器配置
txt读取大批量数据存入数据库
网络安全 国家网站
网络安全促进社会和谐
计算机三级书籍 网络技术
无线网络技术发展趋势结语
最美声音软件开发
关系数据库专门运算包括
网络技术汇流排
数据库课程设计影院售票
计算机网络技术工程师中级
网络安全宣传的图片
入管理服务器软件
一开始我以为是服务器负载太大了
软件开发员工作动作
蒲城软件开发公司
传音控股软件开发笔试
卫辉软件开发哪个品牌好
哈密互联网科技有哪些
大一数据库技术及应用考试