1.C语言内容跳转链接
2.类与对象
1.定义:用于指定对象的形式,是一种用户自定义的数据类型,是一种封装了数据和函数结合,类中的数据称为成员变量,函数成成员函数,类可以被看作是一种模板,可以用来创建具有哦相同属性和行为的对各对象,本质上是定义一个数据类型的蓝图,它定义了类的对象包括了什么,以及可以在这个对象上执行那些操作
2.需要定义的操作:使用关键字class,然后指定类的名称,并类的主题是包含在一对大括号中,主题包含类的成员变量和成员函数
3.关键字public
1.作用:确定类成员的访问属性,在类对象作用域内,公共成员在类的外部是可访问的,我们也可以指定类的成员为private或protected
2.公有成员(public):在程序中类的外部是可访问的,可以不使用任何成员函数来设置和获取共有变量的值
3.私有成员(private):在类的外部不可访问和查看,只有类和友元函数可以访问,默认情况下,类的所有成员都是私有的
4.protected成员:与私有成员十分相似,但是在子类可访问
4.struct和class的区别:struct默认权限为公共,class默认权限为私有
5.私有的成员和受保护的成员不能使用直接成员访问运算符(.)来直接访问
6.构造函数:
1.在每次创建类的新对象时执行
2.名称与类名称完全相同,而且不会返回任何类型和void,构造函数可用于为某些成员变量设置初始值
3.默认构造函数没有任何参数,但是需要时构造函数也可以带参数,这样在创建对象是就会给对象赋予初始值
4.可以用列表来初始化类的参数
1.可以使用在不同字段使用逗号进行分隔
7.析构函数
1.名称与类的名称完全相同,只是在前面加了一个(~)作为前缀,他不会返回任何值,也不能带有任何参数,有助于在跳出程序前(关闭文件,释放内存)前释放资源
2.在每次删除所创建的对象时执行
8.成员函数,静态成员
1.成员函数:值把定义与原型写在类定义内部的函数,就像类定义中的其他变量一样,类成员函数是类的一个成员,它可以操作类的任意对象,可以访问对象中的所有成员,也可以在类的外部使用范围解析运算符::定义该函数
2.可以使用static关键字来把类成员定义为静态的,当我们声明类的成员为静态时,这意味着无论创建多少个类的对象,静态成员都只有一个副本(谁都可以操纵它,并且只能操纵这一个)
3.静态成员变量所有对象分享同一份数据,在编译阶段分配内存,在类内声明,类外初始化
4.静态成员函数左右对象共享同一个函数,静态成员函数只能访问静态成员变量
9.const修饰成员函数
1.常函数:成员函数后加const称为常函数,常函数内不可以修改成员属性
2.常对象:声明对象前加const成该对象为常对象,常对象只能调用常函数
10.类的友元函数
1.定义:定义在类外部,但有权访问类的所有私有(private)和保护(protected)成员,尽管友元函数的原型又在类的定义中出现过,单数有缘函数并不是成员函数
2.友元可以是一个函数,该函数被称为友元函数,有缘也可以是一个类,该类被称为友元类,在这种情况下,整个类及其所有成员都是友元
3.如果要声明函数为一个类的友元,需要在类定义中该函数原型前使用关键字friend
11.this指针:指向当前对象的实例,每一个对象都能通过this指针来访问自己的地址
1.是隐藏指针,可以在类的成员函数中使用,可以用来指向调用对象
2.当一个对象的成员函数被调用时,编译器会隐式地传递该对象的地址作为this指针
3.友元函数没有this指针,因为友元不是类的成员,只有成员函数才有this指针