什么是类的成员函数和非成员函数?
类有成员变量和成员函数。
而函数中,不是任何一个类的成员的函数,就是非成员函数。例如: class A{ public: void f1(){}; // 这个就是成员函数。void f2(); // 这个也是成员函数声明,其实现在类的外部。}; void A::f2(){} // 这个是成员函数的实现。void f3(){}; // 这个就是非成员函数,它不属于A,也不属于任何一起其他的类。延伸阅读
js原型函数和成员函数区别?
计算机中的成员函数描述的是类的行为,是程序算法的实现部分,是对封装的数据进行操作的方法。
它的具体定义:成员函数的原型要写在类体中,原型说明了函数的参数表和返回值类型。而函数的定义一般在类外面,也可以直接在类内部定义。
前者与普通函数不同的是,实现成员函数时要指明类的名称,具体形式为:返回值类型 类名 ::函数成员名(参数表){函数体};而后者一般为一些短小的函数(5行以内),也就是内联函数。具体的所属关系如下:各类函数中:构造函数、析构函数、拷贝初始化构造函数等是类的成员函数。class A{public:void B()
;private:int C()
;protected:bool D(int i);};那么,B(),C(),D(int)都是A的成员函数
c++构造函数和成员函数的区别?
不一样,类中的构造函数是声明一个类的对象后,自动的调用的,但成员函数是用户使用时才会调用,通常的话一个类的成员变量的初始化都是通过构造函数来实现的 ,至于是不是非要和new运算符一起使用也不一定,你只要声明一个类的对象后,编译系统都会调用构造函数的,只是生存周期只是在此段程式的大括号类用完后自动释放,而用new生成的对象,也必需调用类的构造函数,系统为对像分配内存空间,用户自已使用完要delete的
成员函数一定是内联函数?
不一定。
成员函数是属于对象的, 静态函数才是属于类的. 如果在类体内定义的函数,则会被编译器默认为内联函数, 如果把函数的定义放在外面,且在函数的声明的时候加上关键字inline,则函数变为内联函数,否则为成员函数.
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来修饰,即私有的数据成员,必须通过共有的成员函数才能使用,成为数据的封装性,下个小例子看看数据的封装性。