总结

更新时间:2022-09-30 05:54:30 阅读: 评论:0

总结---c++类
C++类
类是一种用户自定义类型,声明形式:
Class类名称
{
Pibulic:公有段成员和函数(外部接口),是类与外部的接口,任 何外部函数都可以访问公有类型数据和函数
Private:私有成员和函数:只允许本类中的函数访问,类外部的 任何函数都不能访问
Protected:保护型成员和函数:与private类似,其差别表现在继 承与派生时对派生类的影响不同
}
成员函数:在类中说明原行,可以在类外给出函数体的实现,并在函数名前使用类名加以限定。也可以直接在类中给出函数体,形成内联成员函数。
成员数据:与一般变量声明相同,但是声明时不能赋初值。
对象的生成
类的对象是该类的某一特定实体。
声明形式:
类名对象名;eg:Clockmyclock;
类中成员访问:直接使用成员名
类外访问:对象名.成员名(只能访问pubulic)
对象的初始化
造函数在程序开始运行时调用,在main接到控制前调用。析构函数在程序结束时调用。对于用new操作符动态生成的对象来说,构造函数在对象生成时调用,析构函数在对象用delete操作符明确销毁时调用,如果不销毁则析构函数永远都不会调用。
对于相同的对象:先构造的后析构,后构造的先析构。
静态类成员
1>静态数据成员:静态数据成员只存储一处,供所有对象共用。静态数据成员只能在类外进行声明。最好在main函数所在文件。
2>访问静态成员或者函数是直接用类名和作用域操作符。
3>静态成员函数只能直接引用静态数据成员和属于其类的静态数据成员函数。
4>静态成员函数中没有this指针。要引用非静态成员,可以通过对象来引用。
常对象和常成员函数
1>const对象和const成员函数。类对象在定义中加入const表示不能改变该类中任何数据成员的值,且该对象不能调用非const修饰的成员函数。类中的函数定义中加入const表示该函数不能改变任何数据成员的值。且该函数只能使用const修饰的变量。
2>常数据成员只能通过构造函数中的成员初始化表的方式来对数据成员初始化。初始化后不能更改。
this指针是隐含在成员函数体中的指针,它指向调用该成员函数的对象。
友元(friend):一种定义在类外部的普通函数。但是需要在类体中进行说明,且在前面加上friend加以区别。友元不是成员函数,但可以访问类中的私有成员,友元可以是函数也可以是类。
注>提高了程序的运行效率,但破坏了封装性。
友元类:在类中声明另一个类为该类的友元类,声明前加friend。在友元类中可以引用该类中的private成员。
类的作用域(局部类和嵌套类)。
类域:指在类的定义中由一对花括号所括起来的部分。类域中定义的变量不能使用auto,register,extern。只能用static。
局部类:在函数体内定义的类。不能说明静态成员函数,且所有成员函数必须定义在函数体内。
嵌套类:在一个类中定义定一个类。
对象的生存期。
局部对象:在进入锁在函数时被创建,函数退出时被释放。
静态成员:第一次执行到所定义的对象时被创建,程序结束时被释放。
全局对象:程序开始时创建,程序结束被释放。
对象指针和对象引用
指向A类中数据成员C的指针方法
IntA::*p=&A::C;
定义一个指向A中成员函数fun()的指针方法
Int(A::*p)()=A::fun;
对象数组
1.声明:类名数组名[元素个数];
2.访问方式:数组名[下标]·成员名
3.对象数组数组初始化:定义的同时初始化
定义好之后,再单个元素初始化
4.数组生成时,调用每个元素的构造函数。数组中每个元素被删除时,都要调用一次析构函数。
5.数组元素赋初值时,会有一个临时的对象产生,调用构造函数,初始化临时对象,之后将临时对象的值赋给元素,然后调用析构函数,释放掉临时对象。
6.用new生产的数组不能直接初始化,需要每个元素单独初始化。 DATE*date=newDATE[2];
date[0]=DATE(1,1,1);date[1]=DATE(2,2,2);
摧毁是要加上[]。delete[]date;
如果省缺了[],则编译器只对第一个数组元素调用析构函数。

本文发布于:2022-09-30 05:54:30,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/78/202284.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图