c++中结构体可以定义一个函数么

struct BiNode { int data; BiNode *leftChild,*rightChild; }; class BiTree { private: BiNode *root; //根结点指针 int size; //结点个数 BiNode *Locate(BiNode *r,int e);//什么意思啊 BiNode *LeftChild(int e); BiNode *Parent(BiNode *r,int e); public: void InitBiTree(); void CreakBiTree();} 这中的BiNode *Locate(BiNode *r,int e);什么意思 用一个结构体定义一个located指针函数?可以这样定义么

第1个回答  2019-02-24
  c++中结构体可以定义一个函数
  C中的结构体和C++中结构体的不同之处:在C中的结构体只能自定义数据类型,结构体中不允许有函数,而C++中的结构体可以加入成员函数。
  C++中的结构体和类的异同:
  一、相同之处:结构体中可以包含函数;也可以定义public、private、protected数据成员;定义了结构体之后,可以用结构体名来创建对象。但C中的结构体不允许有函数;也就是说在C++当中,结构体中可以有成员变量,可以有成员函数,可以从别的类继承,也可以被别的类继承,可以有虚函数。
  二、不同之处:结构体定义中默认情况下的成员是public,而类定义中的默认情况下的成员是private的。类中的非static成员函数有this指针,类的关键字class能作为template模板的关键字
即template<class
T>
class
A{};
而struct不可以。
  实际上,C中的结构体只涉及到数据结构,而不涉及到算法,也就是说在C中数据结构和算法是分离的,而到C++中一类或者一个结构体可以包含函数(这个函数在C++我们通常中称为成员函数),C++中的结构体和类体现了数据结构和算法的结合。
第2个回答  2019-06-05
c++中结构体可以定义一个函数
  C中的结构体和C++中结构体的不同之处:在C中的结构体只能自定义数据类型,结构体中不允许有函数,而C++中的结构体可以加入成员函数。
  C++中的结构体和类的异同:
  一、相同之处:结构体中可以包含函数;也可以定义public、private、protected数据成员;定义了结构体之后,可以用结构体名来创建对象。但C中的结构体不允许有函数;也就是说在C++当中,结构体中可以有成员变量,可以有成员函数,可以从别的类继承,也可以被别的类继承,可以有虚函数。
  二、不同之处:结构体定义中默认情况下的成员是public,而类定义中的默认情况下的成员是private的。类中的非static成员函数有this指针,类的关键字class能作为template模板的关键字
即template

class
A{};
而struct不可以。
  实际上,C中的结构体只涉及到数据结构,而不涉及到算法,也就是说在C中数据结构和算法是分离的,而到C++中一类或者一个结构体可以包含函数(这个函数在C++我们通常中称为成员函数),C++中的结构体和类体现了数据结构和算法的结合。

c++中结构体可以定义一个函数么
c++中结构体可以定义一个函数 C中的结构体和C++中结构体的不同之处:在C中的结构体只能自定义数据类型,结构体中不允许有函数,而C++中的结构体可以加入成员函数。C++中的结构体和类的异同:一、相同之处:结构体中可以包含函数;也可以定义public、private、protected数据成员;定义了结构体之后,可以...

C++ 结构体的成员函数是什么
C++允许在结构中定义函数,该函数称为成员函数。其描述形式如下:struct 结构名{ 数据成员 成员函数 } 下面是一个使用成员函数的例子 include <iostream> using namespace std;struct Point { double m,n;void Setab(double a,double b){ m=a;n=b;} void display(){ cout<<"display()--->>...

c++用结构体类型定义一个函数是什么意思??? 比如
如果结构体只有部分数据是函数调用时需要指定的,那么可以将结构体中的成员作为函数参数传递过去,比如:structS{A;B;C;};只需要成员A和B,所以函数可是这样:voidFunction(A,B);或者另外定义一个结构体作为接口:structY{A,B};函数数可以是这样:voidFuntion(Y*p_y);

在C语言中struct结构体里面 不能定义函数么?
c中不能,c++里可以在结构体内定义函数,用法和class定义类是一样的,说穿了struct 和 class用法相同,但要注意的一点是,struct默认的是public类型,而class默认的是private类型的

如果是在c++中的结构体里声明的函数,是否必须要一个结构体实例对象才能...
必须的,结构体和类是一个性质的,必须定义一个结构体变量(实例,如果是类就是对象),然后用这个变量去调用结构体中声明和定义的函数!

C++中的结构体可不可以直接在结构体内部实现函数?
可以,C++中结构其实就是类,唯一区别是结构中成员的默认访问权限是public类型的,类中是private类型的,所以你想干什么就动手好了,就是别忘了给分

C++的类与C语言的什么数据结构相似
C++中的结构体和类的异同:一、相同之处:结构体中可以包含函数;也可以定义public、private、protected数据成员;定义了结构体之后,可以用结构体名来创建对象。但C中的结构体不允许有函数;也就是说在C++当中,结构体中可以有成员变量,可以有成员函数,可以从别的类继承,也可以被别的类继承,可以有...

c++类结构体和函数的区别是什么?
2、结构体也可以被认为是一种特殊的类,它不存在任何函数,构造和析构函数也没有,而且是一个公共的的类;相关推荐>>C++中适用于类和结构体的内存池模板类 3、C++类和结构体概念基本一致,区别在于结构体在默认情况下成员是公共的(public),类在默认情况下成员是私有的(private),其他的都一样,...

【C++】用结构体类型表示一个分数,定义一个函数实现两个分数的加法运算...
include<string.h> include<stdlib.h> typedef struct{ \/\/分数数型 unsigned int denominator; \/\/分母 unsigned int numerator; \/\/分子 unsigned int negative; \/\/正负号,0为正号,1为负号 } fraction;fraction fraction_Get(int x1,int x2) { \/\/由分子分母生成分数 fraction x;i...

c++为什么要让struct可以定义成员函数
对C来说,struct可以放任何它支持的数据类型。包括函数指针——后来C++所谓的虚函数表,很多编译器的实现,就是一个指向另一个全局结构体的指针,这个全局结构体里面是一条一条的函数指针,指向对应类重载后的所谓“虚函数”。至于各种所谓的成员函数,实际上就是些第一个参数是classXX类型的this指针的...

相似回答
大家正在搜