下载此文档

c 面向对象类.doc


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
C++面向对象---类我们在c语言中创建一个结构体我们使用如下方法:structtest{private:intnumber;public:floatsocre;}; 类的创建方式和结构体几乎一样,看如下的代码:classtest{private:intnumber;public:floatsocre;public:intrp(){returnnumber;}voidsetnum(inta){number=a;}}; 但是大家注意到没有,标准c中是不允许在结构体中声明函数的,但c++中的类可以,这一点就和c有了本质的区别,很好的体现了c++面向对象的特点! 过去的c语言是一种非面向对象的语言他的特性是: 程序=算法+数据结构但c++的特性是对象=算法+数据结构程序=对象+对象+对象+对象+........ 所以根据这一特性,我们在定义一个自己定义的结构体变量的时候。这个变量就应该是叫做对象或者叫实例。例如testa; 那么a就是test结构的一个对象(实例) test结构体内的成员可以叫做是分量,例如:=; 那么number就是test结构的对象a的分量(或者叫数据成员,或者叫属性)score; 在c语言中结构体中的各成员他们的默认存储控制是public而c++中类的默认存储控制是private,所以在类中的成员如果需要外部掉用一定要加上关键字public声明成公有类型,这一特性同样使用于类中的成员函数,函数的操作方式和普通函数差别并不大。例如上面的例子中的rp()成员函数,我们如果有如下定义:testa; 的话,调用rp()就应该写成:(); 。这一小节为了巩固联系我给出一个完整的例子。如下(重要和特殊的地方都有详细的注解):#include<iostream>usingnamespacestd;classtest{private://私有成员类外不能够直接访问intnumber;public://共有成员类外能够直接访问floatsocre;public:intrp(){returnnumber;}voidsetnum(inta){number=a;}};voidmain(){testa;//=10;//错误的,=;cout<<<<endl;//(100);//通过公有成员函数setnum()间接对私有成员number进行赋值操作cout<<();//();} 好了,介绍了在类内部定义成员函数(方法)的方法,下面我们要介绍一下域区分符(::)的作用了。下面我们来看一个例子,利用这个例子中我们要说明两个重要问题:#include<iostream>usingnamespacestd;intpp=0;classtest{private:intnumber;public:floatsocre;intpp;public:voidrp();};voidtest::rp()//在外部利用域区分符定义test类的成员函数{::pp=11;//变量名前加域区分符给全局变量pp赋值pp=100;//设置结构体变量}voidmain(){testa;testb;();cout<<pp<<endl;cout<<<<endl;();} 问题1: 利用域区分符我们可以在类定义的外部设置成员函数,但要注意的是,在类的内部必须预先声明:voidtest::rp() 在函数类型的后面加上类的名称再加上域区分符(::)再加函数名称,利用这样的方法我们就在类的外部建立了一个名为rp的test类大成员函数(方法),可能很多人要问,这么做有意义吗?在类的内部写函数代码不是更好? 答案是这样的:在类的定义中,一般成员函数的规模一般都比较小,而且一些特殊的语句是不能够使用的,而且一般会被自动的设置成为inline(内联)函数,即使你没有明确的声明为inline,那么为什么有会被自动设置成为inline呢?因为大多数情况下,类的定义一般是放在头文件中的,在编译的时候这些函数的定义也随之进入头文件,这样就会导致被多次编译,如果是inline的情况,函数定义在调用处扩展,就避免了重复编译的问题,而且把大量的成员函数都放在类中使用起来也十分不方便,为了避免这种情况的发生,所以c++是允许在外部定义类的成员函数(方法)的,将类定义和其它成员函数定义分开,是面向对象编程的通常做法,我们把类的定义在这里也就是头文件了看作是类的外部接口,类的成员函数的定义看成是类的内部实现。写程序的时候只需要外部接口也

c 面向对象类 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sxlw2014
  • 文件大小56 KB
  • 时间2019-12-13