×

成员函数的定义

成员函数的定义(描述类的成员函数)

admin admin 发表于2024-09-29 06:37:36 浏览4 评论0

抢沙发发表评论

这篇文章给大家聊聊关于成员函数的定义,以及描述类的成员函数对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

本文目录

描述类的成员函数

描述类的成员函数如下:

类的成员函数是其定义或原型在类定义内部的函数,他们可以处理本类的任何对象,有权访问本类对象的所有成员。该函数拥有与数据成员相同的访问特性——public,因为某个访问属性后面声明的每个类成员都将拥有该属性,直到类定义内指定另一个访问属性为止。

在成员函数内访问类成员时,不需要以任何方式限定这些成员的名称。未限定的成员名自动引用执行该成员函数时当前对象的成员。只要写出被处理对象的名称,后跟句点和成员函数,调用的就是该对象的成员函数。

注意

CBox对象仍然占用相同的字节数。给类添加成员函数不会影响类对象的大小。显然成员函数必定存储在内存中,但只有一个副本,与创建的类对象数量无关。当sizeof操作符计算对象占用的字节数时,不包括成员函数占用的内存。

以后将学到,向类添加虚函数,这会增加类对象的大小。成员函数中,类数据成员的名称,自动引用调用该函数的具体对象的数据成员,而成员函数只能由本类的具体对象调用,调用方法是使用对象名和直接成员访问操作符。如果不指定对象名就调用成员函数,那么将不能编译程序。

C++ 成员函数、全局函数、友员函数的区别

在定义类的时候,如果定义了一个public访问级的函数,那么这个函数就是这个类的成员函数,当然在类里也可以定义private访问级的函数,这种函数则只能叫工具函数而不能叫成员函数,因为他仅仅是为类的公共成员函数服务的。通过类的实例并不能访问类的工具函数。全局函数是定义在主函数和任何类定义之外的函数,这种函数在整个程序的任何地方都允许被调用。但过多的全局函数会增加程序的尺寸,使其变得慵忡。因为通过类的实例并不能访问到类的私用数据成员(即private成员),这时如果在类定义之内定义了友元函数,在类的实例中就可以通过友元函数来访问类的私用数据成员。

java中何为成员函数

就是属于类的属性,是类里面的函数,是类的组成部分,和成员变量想对应,只不过成员变量是变量,而成员函数是类所具有的方法~

什么是静态成员函数

静态成员函数的定义与一般成员函数的定义相同,只是在其前面冠以static关键字,其定义格式如下 :class 类名{…static 类型 函数名(形参){   函数体   }…};说明:(1)类的静态成员函数只能访问类的静态数据成员,而不能访问类中的普通函数成员(非静态数据成 员),因为普通数据成员只有类的对象存在时才有意义。(2)静态成员函数与类相联系,而不与类的对象相联系,所以,在类的外部调用类中的公有静态成员 函数,必须在其左面加上“类名::”,而不是通过对象名调用公有静态成员函数。在类的外 部不能调用类中的私有静态成员函数。

请问什么是成员函数的定义

成员函数相当于C或C++中的函数。你应该用如下的方式说明一个成员函数:Type name (Parameter)//function body注意:每一个成员函数必须返回一个值或声明返回为空(void)。它返回类型的说明告诉编译器它将返回什么类型的值。在某些情况下,成员函数需要表示它是否成功的完成了它的工作,此时返回类型通常为布尔型的。参数表是用逗号分开的一组变量,它将为成员函数提供所需信息。 下面例子中定义了一个成员函数。通过它,你的矩形类可以计算自己的面积了:int getArea(int w,int h){ int a; a=w*h; return a;} 另外,矩形还需要对自己进行描绘,因此它需要成员函数drawRect(),此时,你的矩形类的定义将如下所示: public class DrwRect { public static void main(String args) { class Rectangle { int width,height,area; public Rectangle(int w,int h) { width=w; height=h; area=getArea(w,h); } protected int getArea(int w,int h) { int a; a=w*h; return a; } public void drawRect() { int i,j; for(i=width;i》0;i--) System.out.print("#"); System.out.print("") ; for(i=height-2;i》0;i--) System.out.print("#"); for(j=width-2;i》0;j--) System.out.print(""); System.out.print("#"); for(i=width;i》0;i--) System.out.print("#"); System.out.print(""); } } //Rectangle int w=Integer.valueOf(args).intValue(); int h=Integer.valueOf(args).intValue(); Rectangle myrect=new Rectangle(w,h); myrect.drawRect(); } } 上例中最后一个“#”号后面还有一个System.out.print("")这是由于这个成员函数在上一行没有结束而且缓冲区没有溢出时将不把输出结果写屏。若你使用print成员函数,却没有得到输出,这时仔细确认一下你是否以""来结束你的输出流。2:不同类型的成员函数 在上例的成员函数声明中你需要注意两点:getArea()定义为private型,drawRect()定义为public型。public型意味着任何类都可以调用它。private型,它只能被所声明的类内部调用。这些说明类型同样适用于数据变量。 若有人想改变一个私有变量,通常要引用下面的成员函数:public void setWidth(int w){ width=w;} 注意:在Java中,protected只是作为关键字出现,而没有相应的功能。3:成员函数的重载 假如你必须在不同情况下发送不同的信息给同一个成员函数的话,该怎么办呢?你可以通过对此成员函数说明多个版本(version)的方法来实现重载。重载的本质是创建了一个新的成员函数:你只需给它一个不同的参数列表(parameterlist),如下例所示:void get Area(int w,int h);void get Area(float w,float h); 在第二种情况下,成员函数get Area()接受两个浮点变量作为它的参数,编译器根据调用时的不同参数来决定该调用哪一种成员函数,假如你把两个整数提供给成员函数,你就调用第一个成员函数;假如你把两个浮点数提供给成员函数,第二个成员函数就被调用。4:静态成员 除了public、private和protected以外,你还可以把成员说明为static(静态)。static修饰符表明一个变量或成员函数对所有类的实例都是相同的,你也许想使用一个所有Rectangle类都可以使用的变量,来说明该类的版本(version),假如你把它说明成一个static,那么该变量将对该类的所有实例都是一样的,如:static int version=1; 静态成员函数和静态变量的优点就在于他们能在没有创建类的任何一个实例的情况下被引用,引用时在“.”域前,可直接使用类名而无须使用对象名。例如,drawRect成员函数使用了System.out.println成员函数,但实际上你却未曾创建一个某个System类的对象,这正是因为out是System类的一个静态变量,所以你可以直接使用这个成员函数而无须定义一个System对象。5:构造和析构成员函数 类有一个特殊的成员函数叫做构造成员函数,它通常用于初始化类的数据成员。在创建对象时,会自动调用类的构造成员函数。Java中的构造成员函数必须与该类具有相同的名字,另外,构造成员函数一般都应用public类型来说明,这样才能在程序任意的位置创建类的实例--对象。 下面是一个Rectangle类的构造成员函数,它带有两个参数,分别表示矩形的长和宽: public Rectangle(int w,int h) { width=w; height=h; area=getArea(w,h); } 除了构造成员函数以外,类还提供了析构成员函数,当对象被从内存中删除时,该成员函数将会被自动调用。通常,在析构成员函数内,你可以填写用来回收对象内部的动态空间的代码。

C++ 成员函数定义

Student::Student(int n){ pscore = new int;}Student::~Student(){ delete pscore;}

描述类的成员函数的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于描述类的成员函数、描述类的成员函数的信息别忘了在本站进行查找哦。