
【C++初阶】浅谈类和对象
【访问限定符说明】
其实就是在函数的传参中有一个隐藏式的指针,当我们调用类中的函数时会标注上是哪个对象要调用例如
发布日期:2021-05-07 07:38:51
浏览次数:22
分类:精选文章
本文共 1209 字,大约阅读时间需要 4 分钟。
类和对象
初步认识
1.面向过程和面向对象初步认识
C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。类
类的引入
C语言中,结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数。
struct Student{ void PrintStudentInfo() { cout<<_name<<" "<<_gender<<" "<<_age<
而对于C++来说经常用class来替代struct的使用。
类的定义
class className{ // 类体:由成员函数和成员变量组成}; // 一定要注意后面的分号
注释:
class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号。 类中的元素称为类的成员:类中的数据称为类的属性或者成员变量; 类中的函数称为类的方法或者成员函数。 例如引入中的代码就是简单的类的定义。类的访问限定符
C++实现封装的方式:用类将对象的属性与方法结合在一块,让对象更加完善,通过访问权限选择性的将其
接口提供给外部的用户使用。
- public修饰的成员在类外可以直接被访问
- protected和private修饰的成员在类外不能直接被访问(此处protected和private是类似的)
- 访问权限作用域从该访问限定符出现的位置开始直到下一个访问限定符出现时为止
- class的默认访问权限为private,struct为public(因为struct要兼容C)
- struct的成员默认访问方式是public,class是struct的成员默认访问方式 是private。
类的作用域
类定义了一个新的作用域,类的所有成员都在类的作用域中。在类体外定义成员,需要使用 :: 作用域解析符
指明成员属于哪个类域。this指针
class Date{ public : void Display () { cout <<_year<< "-" <<_month << "-"<< _day <
在上述代码中代码如何识别哪一个数据是d1,哪一个数据是d2来处理的呢?这里就引入了this指针。

d1
调用就是Data*d1
。 this指针的特性 - this指针的类型:类类型* const
- 只能在“成员函数”的内部使用
- this指针本质上其实是一个成员函数的形参,是对象调用成员函数时,将对象地址作为实参传递给this 形参。所以对象中不存储this指针。
- this指针是成员函数第一个隐含的指针形参,一般情况由编译器通过ecx寄存器自动传递,不需要用户 传递
发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月06日 09时11分15秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux 磁盘管理(df fu fdisk mkfs mount)
2019-03-06
老Python总结的字典相关知识
2019-03-06
jQuery的事件绑定与触发 - 学习笔记
2019-03-06
Linux上TCP的几个内核参数调优
2019-03-06
记一次讲故事机器人的开发-我有故事,让机器人来读
2019-03-06
seo 回忆录百度基本概念(一)
2019-03-06
netcore中使用session
2019-03-06
Android 开发学习进程0.25 自定义控件
2019-03-06
多媒体文件格式全解说(下)--图片
2019-03-06
淘宝WAP版小BUG分析
2019-03-06
asp.net打印网页后自动关闭网页【无需插件】
2019-03-06
【Maven】POM基本概念
2019-03-06
【Java思考】Java 中的实参与形参之间的传递到底是值传递还是引用传递呢?
2019-03-06
【设计模式】单例模式
2019-03-06
远程触发Jenkins的Pipeline任务的并发问题处理
2019-03-06
Web应用程序并发问题处理的一点小经验
2019-03-06
entity framework core在独立类库下执行迁移操作
2019-03-06
Asp.Net Core 2.1+的视图缓存(响应缓存)
2019-03-06
【wp】HWS计划2021硬件安全冬令营线上选拔赛
2019-03-06