C++类和对象的使用



对象成员的访问


程序中访问对象成员有以下三种方法:


1.通过对象名和成员访问运算符"."来访问。


上一个章节我们就是这样调用函数的,如stu.getAge();


2.通过指向对象的指针来访问


Student *p=&stu; //创建一个指针指向对象stu
p->getAge();  //指针对成员的访问使用->访问


3.通过引用来访问


Student &s=stu;  //创建一个引用类型
s.getAge();  //利用引用类型访问成员



类声明和成员函数实现的分离


类的定义和成员函数的实现一般不放在一起,而是放在不同的文件中。


我们在前面较小的程序都是将类的定义和成员函数的实现放在一起,在较大的项目中,它们是分离的。类的声明为头文件,而类的实现为类对应的源文件。当需要使用这个类时,我们只需要包含类的声明的头文件,就可以对类进行使用。


那么我们如何来添加不同的文件呐?


1.右击项目名,单击添加,再选择新文件


use1.png


2.如下图所示,名称一般为类名


use2.png


3.可以看见右边的过滤器里面已经有了这个头文件,我们也可以自己为这些文件分类,拖动这些文件到相应的类别下就可以了。


use3.png


4.为该类添加一个对应的头文件,一般与类名相同,便于查找,这个源文件保存的是student这个类的实现。


use4.png


5.下面就是刚才程序的分离,这个文件里面使用了student这个类,所以要包含这个头文件。


Student.cpp;


use5.png


Student.h;


use6.png


这个文件里面使用了student这个类,所以要包含这个头文件。


main.cpp;


use7.png


我们以后没添加一个类就需要添加对应的两个文件,分离之后的文件与之前没有分离的效果是一样的,但是整个工程的结构就变得清晰了。如果我们需要复用某一个类,这样也是最方便的。


#ifnodef STUDENT_H  //头文件卫士,避免头文件的重复包含被多次编译
#define STUDENT_H
//类的声明
#endif



一个简单例子


上面的类还不能直接使用,因为对象的成员没有初始化,访问它们是会出问题的。现在我们就来实现一个完整的类。

下面是一个类的声明,设置当前时间或获取当前时间的类。


m_nHour的命名规则是骆驼命名法,m代表它是类成员属性,n代表它是int类型的,其它的命名规则可以自行去查找。


由于三个成员属性都是私有的,我们在类外部无法访问,所以我们提供了六个公有的接口来设置和获取它们的值。


use8.png


类对应的源文件里面完成相关函数的定义


use9.png


包含我们刚才定义的类的头文件之后,我们创建了类的对象time,并通过公有的接口设置它的成员属性的值,如果不初始化它的成员属性就是内存里面遗留的垃圾值,最后再通过这些接口输出它们的值。


use90.png


运行结果如下:


use91.png



【本文由麦子学院独家原创,转载请注明出处并保留原文链接】

logo
© 2012-2016 www.maiziedu.com
蜀ICP备13014270号-4 Version 5.0.0 release20160127

有一位课程导师想与你聊聊

客服热线 400-862-8862

回到顶部