中易网

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

答案:4  悬赏:80  
解决时间 2021-01-13 08:19
c++中结构体可以定义一个函数么
最佳答案
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++中的结构体和类体现了数据结构和算法的结合。
全部回答
struct small_any_policy : typed_base_any_policy
{
virtual void static_delete(void**) { }
virtual void copy_from_value(void const* src, void** dest)
{
new (dest) T(* reinterpret_cast(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(src); }
virtual void print(std::ostream& out, void* const* src) { out << *reinterpret_cast(src); }
};
来自opencv,any.h
在C++结构体里面是可以定义函数的 和类的定义差不多 只是默认属性不同
在C语言里面不可以
结构体里不定义函数 如果要定义函数 还不如写成类呢
至于你说的BiNode *Locate(BiNode *r,int e); BiNode *是个返回值类型 返回一个结构体指针 并不是用一个结构体定义一个located指针函数
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
苹果发布会是3月27日吗
博弈论是什么?纳什均衡又是什么?囚徒困境是
来龙和入首是一回事吗?
选钻戒,Tiffany 56分 E色 IF还是70分 G色 VVS
i5+950m的笔记本能玩黎明杀机吗
网架结构建筑,螺栓球上可不可以焊接?
动车398到北京时间
近代关于礼物的故事
放学以后我先什么再什么
纽曼t9平板电脑怎么样接键盘
yy1y币多少钱
艺生头缘地址有知道的么?有点事想过去
管理会计中约束理论是哪一章的内容
什么是端口聚合?
牧野卫浴质量怎么样
推荐资讯
用了韩大师装机系统 没有用U盘 出现这个 怎么
现在的我的同学说某个人很“凯”,这里的“凯
7的倍数有什么特征?????????
一个关于舰娘的漫画关的舰长是T字脸,记得有
北京哪里批发童鞋?
帮我查看一下这段vba代码为什么不对?计数出
中国威胁论是什么,在海峡两岸上经常听到
北方的95后男生普遍都很矮,00男生后到了20多
besiege如何分别控制
WORD2003中,为什么有时候下边状态栏中的“插
扬声的意思是什么?扬声的释义是什么啊?
我想知道怎样去香港打工我有港澳通行证
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?