c++中结构体可以定义一个函数么
structBiNode{intdata;BiNode*leftChild,*rightChild;};classBiTree{private:BiNode*root;/...
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指针函数?可以这样定义么 展开
{
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指针函数?可以这样定义么 展开
4个回答
展开全部
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++中的结构体和类体现了数据结构和算法的结合。
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++中的结构体和类体现了数据结构和算法的结合。
展开全部
在C++结构体里面是可以定义函数的 和类的定义差不多 只是默认属性不同
在C语言里面不可以
在C语言里面不可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结构体里不定义函数 如果要定义函数 还不如写成类呢
至于你说的BiNode *Locate(BiNode *r,int e); BiNode *是个返回值类型 返回一个结构体指针 并不是用一个结构体定义一个located指针函数
至于你说的BiNode *Locate(BiNode *r,int e); BiNode *是个返回值类型 返回一个结构体指针 并不是用一个结构体定义一个located指针函数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
struct small_any_policy : typed_base_any_policy<T>
{
virtual void static_delete(void**) { }
virtual void copy_from_value(void const* src, void** dest)
{
new (dest) T(* reinterpret_cast<T const*>(src));
}
virtual void clone(void* const* src, void** dest) { *dest = *src; }
virtual void move(void* const* src, void** dest) { *dest = *src; }
virtual void* get_value(void** src) { return reinterpret_cast<void*>(src); }
virtual void print(std::ostream& out, void* const* src) { out << *reinterpret_cast<T const*>(src); }
};
来自opencv,any.h
{
virtual void static_delete(void**) { }
virtual void copy_from_value(void const* src, void** dest)
{
new (dest) T(* reinterpret_cast<T const*>(src));
}
virtual void clone(void* const* src, void** dest) { *dest = *src; }
virtual void move(void* const* src, void** dest) { *dest = *src; }
virtual void* get_value(void** src) { return reinterpret_cast<void*>(src); }
virtual void print(std::ostream& out, void* const* src) { out << *reinterpret_cast<T const*>(src); }
};
来自opencv,any.h
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询