C02-语法基础2

C02-语法基础2

ID:44246112

大小:140.50 KB

页数:13页

时间:2019-10-20

C02-语法基础2_第1页
C02-语法基础2_第2页
C02-语法基础2_第3页
C02-语法基础2_第4页
C02-语法基础2_第5页
资源描述:

《C02-语法基础2》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C++基础语法2类的定义对象的创建和使用类的定义classStudent{intnum;charname[20];charsex;voidDisplay(){cout<<“num:”<

2、2;访问限定符public:公用的数据和成员函数可以在任何位置使用private:私有的数据和成员函数只能在当前类的成员函数中使用,class默认的方式是privateprotected:保护的数据和成员函数只能在当前类或当前类的派生类中使用限定符可以任意设定,没有固定的顺序,也可以在类中多次出现声明一个类如何声明一个类classStudent;何时需要声明一个类1.两个类定义中相互嵌套使用classB;classA{B*pb;};classB{A*pa;};2.一个类定义中仅使用另一个类的指针,则可以只给出那个类的声明,不必给出类的定义,即不必把那个类对应的头文件i

3、nclude进来,不然的话很容易产生一个类在一个cpp中定义多次的情况创建对象的方法定义对象和struct相同,定义对象也有三种形式先定义类,再定义对象classStudentstu;或者Studentstu;定义类时同时定义对象classStudent{…}stu;不出现类名,直接定义对象class{…}stu;类和结构体的异同struct为兼容C的语法而保留,C++为struct的功能作了扩充定义变量可以简写为:结构名变量名;而不必写成struct结构名变量名;(C的写法)struct和类的描述能力一样没有限定符的情况下,struct的所有成员都是public型的

4、;而class都是private型的成员函数的定义在类定义中直接定义成员函数classA{voidf(){…};};在类定义的外部定义成员函数classA{voidf();};voidA::f(){…}定义成员函数时须注意的问题对于非内置成员函数,只能有一个函数体定义,也就是说设计时要把类的定义放在头文件中,而把成员函数的定义放在cpp文件中可以把一个类中的成员函数放在多个cpp文件中定义函数定义中的形参和返回值要和类定义中的一致成员函数的存储方式用类定义一个对象时,对象所占用空间不包括函数代码所占用的空间,也不保留一个函数指针的空间(虚函数除外,虚函数要占一个指针的

5、空间存放基表)函数代码放在代码段中,被所有对象共用。无论函数在类定义中定义还是在类外部定义,也不论是否为inline函数。在调用一个对象中的函数时,会自动产生一个指向这个对象的指针(this),系统以此保证成员函数操作的数据为当前对象中的数据在成员函数内引用对象成员直接写成员变量名voidStudent::Display(){cout<<“num:”<

6、out<<“num:”<num<num=1001;通过对象的引用访问对象中的成员Student&stu=stu1;Stu.num=1001;再论程序结构类作用域类定义和类的成员函数定义之内在类作用域中,可以无限制的访问类中的任何成员可见性在一个类作用域内,一个名字不能对应两种类型,但一个名字可以声明为一个类型,同时又可以声明为一个非类型,如函数或变量。此时一个名字会将另一个名字隐藏非类名隐藏类名类名前可加class前

7、缀类型隐藏非类名非类名前可加::

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。