结构体是否有默认的构造函数?(没有,如果需要,需要自己写)


// node type used by winner tree

#ifndef player_
#define player_

struct player  //竞赛树的每个外节点 
{
   int id, key; //id表示元素所在的顺串号,key表示元素的值 

   operator int () const {return key;} //有了这个函数就可以像内建数据类型一样把player类型 强制/自动转换成int型了。 
};

#endif

在这里插入代码片

#include 
#include "player.h"
using namespace std;
int main() 
{
	player a;
	a.id=1;
	a.key=2;
//	player b=a;
	//	player b(a);
	//player b(1,2);
	cout<<b.id<<endl;
	cout<<b.key<<endl;
}


	
*上面程序运行后,
发现player b=a;以及player b(a);都可以,但player b(12)会报错。可见,
结构体不能默认生成构造函数,
但是结构体对象相互之间的赋值还是可以的。*


你可能感兴趣的:(小的语法知识)