C++第二季--01(C++类与对象)

笔记:(··········································)

目录

 

C++ 类与对象:

C++类定义:

 定义C++对象:

访问数据成员:

this指针(借鉴):

Struct与Class的区别认识:

代码学习:


C++ 类与对象:

C++在C语言的基础上增加了面向对象编程,C++支持面向对象程序设计。类是C++的核心特性,通常被称为用户定义的类型。

类用于指定对象的形式,它包含了数据的表示法以及用于处理数据的方法。类中数据和方法称为类的成员。函数在一个类中被称为类的成员。


C++类定义:

       定义一个类:本质上是定义一个数据类型的蓝图。这实际上并没有定义任何数据,但它定义了类的名称意味着什么,也就是说,它定义了类的对象包括了什么,以及可以在这个对象上执行那些操作。类定义是以关键字class开头,后跟类的名称。类的主体是包含在一对花括号中。类定义后必须跟着一个分号或一个声明列表。


 定义C++对象:

类提供了对象的蓝图,所以基本上,对象时根据类来创建的。声明类的对象,就像声明基本类型的变量一样。(People p1;
    People p2;)


访问数据成员:

类的对象的公共数据成员可以直接使用直接成员访问运算符(.)来访问。但是,私有的成员和受保护的成员不能直接使用直接成员访问运算符(.)来直接访问。(p1.age=15;p1.name="张三";)


C++类与对象中其他相关的概念:


this指针(借鉴):

关于C++中this指针的理解:当你进入一个房子后,你可以看到房子内的一切东西;但是你看不到房子全貌;对于类,你可以看到成员函数,成员变量,但是你看不到实例本身,但是应用this可以让我们看到这个实例本身。

我的理解:class类就好比这座房子,this就好比一把钥匙,通过钥匙打开这座房子的们,那么房子里面的东西就可以随意你取用了。

因为this作用域是在类的内部,自己声明一个类的时候,还不知道实例化对象的名字,所以用this来使用对象变量的自身。在非静态成员函数中,编译器在编译的时候加上this作为隐含形参,通过this来访问各个成员,即使你没有写上this指针。


Struct与Class的区别认识:

C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能呢。

struct能包含成员函数!struct能继承!struct能实现多态!

既然这些功能struct都能实现,那么它和class还能有什么区别?

最本质的一个区别就是默认的访问控制:默认的继承访问权限,struct是public,class是private.

另外,struct作为数据结构的实现体,它默认的数据访问控制是public,而class作为对象的实现体,它默认的成员变量访问控制是private.

做个总结:总之,struct与class并没有太大区别,功能作用都一样,但struct更适合看成是一个数据结构的实现体,class更适合看成是一个对象的实现体。(注意数据结构和对象的实现体)


代码学习:

#include <iostream>
#include<string>
using namespace std;
struct Student{//结构体
	int number;
};
class People{//类
public: 
	int age;
	string name;
};
int main(){
	//结构体对象
	Student s1={123456};//结构体对象初始化实例对象
	Student s2;//结构体实例对象
	s2.number=1234;//结构体对象直接成员访问运算符(.)访问对象公共数据
	//类对象
	People p1;//类实例化对象
	p1.age=15;//类对象直接成员访问运算符(.)访问对象公共成员
	p1.name="张三";
	People p2={18,"李四"};//类对象初始化实例对象
	return 0;
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码字界陈冠希

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值