c语言有成员函数吗 C语言成员函数

C和C++都有结构的概念。C语言中只有成员变量。没有成员方法。而c++可以有自己的成员变量和成员函数。求解

嗯嗯没错。。。在纯C中结构体中不可以定义成员函数;结构体中可以定义成员函数是C++的一个创新,在C++中的结构体与类基本相同,

创新互联公司主要从事成都网站建设、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务朗县,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

都可以定义成员变量和成员函数,唯一的区别是在C++中结构体的默认访问控制符是public,而类的默认访问控制符是private示例如下:

struct student

{

public: //默认的访问控制符,可以省略

char name[20];

int NO;

int sum(int x, int y);

};这里边的成员函数和成员变量可以直接被使用;

class student

{

private: //默认的访问控制符,可以省略

char name[20];

int NO;

int sum(int x, int y);

public ://非默认的访问控制符,如省略则不用被直接访问

void input(char * name);

};这里边的成员函数和成员变量不能被直接使用,只能通过其共有的成员函数调用来使用它们;例如只能通过调用该类的input函数来为name[20]赋值(这里排除有构造函数的情况哈);

C语言中的类分为哪些?成员函数?接口封装?数据成员?

类有基类和派生类,类成员包括私有成员、公有成员,受保护成员。私有一般是数据成员,公有成员一般为函数成员。函数成员可以有构造函数、函数成员(或叫接口),也可以封装(我的理解是内连函数),友元函数(可以访问类私有数据,但不是成员函数)、析构函数!

在C语言中,什么叫做非静态成员函数

#include iostream.h

class ok

{

int a;

static int s;//声明静态数据成员

public:

ok(int a);

static void show();//声明静态成员函数

};

int ok::s=0;//定义并初始化静态数据成员

ok::ok(int a)

{

this-a=a;

s+=a; //非静态成员函数可以访问静态数据成员

}

void ok::show() //静态成员函数的实现

{

//coutaendl; //错误代码,a是非静态数据成员

cout"s="sendl;

}

void main()

{

ok cat(2);

cat.show();

ok dog(3);

dog.show();

ok::show();

}

/*------------------------------------------------------------

○静态成员之间可以相互访问,如静态成员函数访问静态数据成员和静态成员函数;

○静态成员函数没有this指针。无法访问属于类对象的非静态数据成员和非静态成员函数,

○非静态成员函数可以访问静态成员函数和静态数据成员;

○静态成员函数不能访问非静态成员函数和非静态数据成员;

○由于没有this指针的额外开销,因此静态成员函数与类的非静态函数相比速度上会有少许的增长;

○非静态成员函数总是具体的属于某个类的具体对象,this是缺省的;

-------------------------------------------------------------*/

C语言中, 结构体中除了包含成员变量外,可以像类一样包含 成员函数吗? 如果可以,怎么写?

这个,真的不可以,C本来就是面向过程的语言,还不涉及到面向对象的思想(虽然用C也可以实现面向对象的编程)

在c语言中,成员函数一定是实例函数对吗?

不对。成员函数可以属于类,而不属于被实例化的对象,另外,语言规范允许虚函数这样的成员函数存在。

成员函数和普通函数的所有区别

区别很大:

1.成员函数是面向对象的概念,所谓的成员函数,是指一个函数作为类的成员,公有成员、私有成员或者保护成员。

2.普通函数一般有两种传递方式,按类型传递和按值传递,也就是传指针和传返回值两种情况。成员函数一般是按类型传递,也即是传指针地址

3.普通函数可以随便调用,并且无法继承和封装,成员函数根据类的不同,可以进行继承,根据公有私有的不同,调用方式也不同

4.深层次的区别,普通函数作为C语言的概念,用的是stdlib,成员函数是用iostream,编译方法不同,至于谁占内存多,并不好说,也不是说面向对象的就占内存大些,还是看具体的环境和编译器。

5.嵌入式的编程,用普通函数较多,成员函数较少,当然ARM嵌入linux那种例外

大体上能一下子想到的只有这么多了

函数是否分配内存,看变量,这个问题,我得详细解释一下,你是否熟悉汇编?知道不知道函数字段这个概念,也就说,所有函数都是分配在一段共享字段里面的,也就是你所说的内存,其实不仅仅是内存,包括闪存等等都可以包含,所以是占用了一段空间的,只是这段空间不一定在内存内,可能在闪存内,也可能在硬盘内,这么说,你清楚吗?


文章名称:c语言有成员函数吗 C语言成员函数
URL分享:http://hbruida.cn/article/dodiocg.html