成员函数是什么意思(c++成员函数的定义)
本文目录
c++成员函数的定义
类(class)和对象(object)用于实现计算机世界中的“封装”(Encapsulation),即把数据(属性)和函数(操作)合成一个整体,这是面向对象程序设计最基本的特性。 C++类的定义 1、在C++中,“类”是一种数据类型。例如,商场中的商品可以用“商品类”来描述。 商品可以这样描述: 商品名称(用字符串描述) 该商品数量(用整型数描述) 该商品单价(用浮点数描述) 该商品总价(用浮点数描述) 相应的商品类如下: class CGoods { public : char Name ; //对于中文可用wchar_t name int Amount ; float Price ; float Total_value ; }; //最后的分号不可少说明:关键字class是数据类型说明符,指出下面说明的是类。标识符CGoods是商品这个类的类型名。花括号中是构成类体的一系列的成员,此处为数据成员;关键字public是一种访问限定符,表示其后所列为公共成员,就是说可以在外部对这些成员进行访问。 2、类定义的更关键部分是对数据成员的操作。这可以用函数来完成。这些函数也作为类的成员存在! class CGoods { private : char Name ; int Amount ; float Price ; float Total_value ; public : void RegisterGoods(char*,int,float); //登记新商品,此处是函数头 void CountTotal(void) ; //计算商品总价值 void GetName(char*) ; //读取商品名 int GetAmount(void) ; //读取商品数量 float GetPrice(void) ; //读取商品单价 float GetTotal_value(void) ; //读取商品总价值 }; 说明:这个描述商品的方案中,在类中引进了成员函数(或称函数成员)(member function),也就是函数也成了数据(类)中的成员。成员函数可以直接使用类定义中的任一成员,可以处理数据成员,也可调用其他函数成员。 类把数据(事物的属性)和函数(事物的行为——操作)封装为一个整体。 C++成员函数的定义 在前面,只对成员函数作了一个声明,或者讲只给出了函数的原型,并没有对函数进行定义。函数定义通常在类的说明之后进行。 商品类CGoods中的成员函数可以如下定义:(在前面的代码后加上以下部分) void CGoods::RegisterGoods(char* name,int amount, float price) //登记新商品 { //char*是指向字符的指针类型说明,name现可理解为字符串 strcpy(Name , name) ; //字符串拷贝函数 Amount=amount ; Price=price ; } void CGoods::CountTotal(void) //计算商品总价值 { Total_value = Price*Amount; } void CGoods::GetName(char* name) //读取商品名 { strcpy(name , Name); } int CGoods::GetAmount(void) //读取商品数量 { return(Amount) ; } float CGoods::GetPrice(void) //读取商品单价 { return(Price) ; } float CGoods::GetTotal_value(void) //读取商品总价值 { return(Total_value) ; }
计算机中的成员函数指的是什么
计算机中的成员函数描述的是类的行为,是程序算法的实现部分,是对封装的数据进行操作的方法。它的具体定义:成员函数的原型要写在类体中,原型说明了函数的参数表和返回值类型。而函数的定义一般在类外面,也可以直接在类内部定义。前者与普通函数不同的是,实现成员函数时要指明类的名称,具体形式为:返回值类型 类名 ::函数成员名(参数表){函数体};而后者一般为一些短小的函数(5行以内),也就是内联函数。具体的所属关系如下:各类函数中:构造函数、析构函数、拷贝初始化构造函数等是类的成员函数。class A{public:void B();private:int C();protected:bool D(int i);};那么,B(),C(),D(int)都是A的成员函数
C++ 结构体的成员函数是什么
C++允许在结构中定义函数,该函数称为成员函数。其描述形式如下:struct 结构名{数据成员成员函数}下面是一个使用成员函数的例子#include 《iostream》/* run this program using the console pauser or add your own getch, system(“pause“) or input loop */using namespace std;struct Point{ double m,n; void Setab(double a,double b) { m=a; n=b; } void display() { cout《《“display()------》》“ 《《m《《“\t“《《n《《endl; }};int main(int argc, char** argv) { Point p; p.Setab(2,3); p.display(); cout 《《“数据成员“《《p.m《《“\t“ 《《p.n 《《endl; return 0;}总结:1、用到了结构块 结构块中的函数调用的方法,写完上面程序发现C++的结构块像Java中静态方法,直接用结构名调用数据成员和成员函数;还有一个就是“\t” 是制表符意思是横向跳到下一个制表符的位置,相当于键盘上的Tab键,“\n”换行相当于endl;2、在结构中成员默认都是public如不不希望对象直接访问数据成员,可以将数据成员使用private来修饰,即私有的数据成员,必须通过共有的成员函数才能使用,成为数据的封装性,下个小例子看看数据的封装性。
更多文章:
consideration翻译(consideration 在法律学中是什么意思)
2025年3月17日 21:00
fastcgi(php中fastcgi和php-fpm是什么东西)
2025年2月12日 13:30
operation timed out(operation timed out什么意思)
2025年2月26日 14:20
tbody设置高度(HTML怎样让Table里的一个格子和同一行其他格子一样高)
2025年3月21日 01:00
compensate翻译(英语vistors will be compensated怎么翻译)
2025年2月10日 15:40
switch语句括号里面填什么(Java中,switch()括号中的参数是)
2025年2月27日 09:10
java基础实践教程(怎样学习java,java基础入门学习方)
2025年3月30日 05:00
无刷电励磁电机(无刷电励磁电机是什么,无刷电励磁电机是什么知识)
2025年4月2日 00:10
java语言程序设计第四版(自学java编程有什么好的教程吗)
2025年4月2日 15:20
厦门旅游攻略四天三夜(2014厦门旅游攻略自助游四天三夜攻略)
2025年3月19日 01:30
occupation什么意思(occupations意思是)
2025年2月24日 08:30
jquery下拉菜单特效(用jquery怎样做一个有弹动效果的下拉菜单)
2025年4月4日 13:50
fedora14(fedora14 可以在终端输入命令,但是鼠标点什么都没用)
2025年3月19日 11:00