简单了解C++中struct/class构造函数

  学习任何东西的时候我们应该了解其功能,只有知道如何用最便利化的使用时才是对它的真正意义上的了解。

  用struct/class构造函数目的或意义主要是为了使目标变量初始化,也可以说是给目标变量赋值。

1: struct构造函数

赋值写法

struct f{
	f(int a)
	{
		x=a;
		y=0;
	}
	int x,y;
};

严格意义上的初始化

struct f{
	f(int a):x(a),y(0){}//此处的大括号不能省略
	int x,y;
};

其它方式表达,括号里可以不含参数(使用时相符时,这里主要可以初始化)
例子:

struct f(){
	f():x(1),y(0){}
	int x,y;
};

了解了如何构造,接下来就可以知道如何使用。
1:含参的结构(以上面的为例):

struct f{
	f(int a):x(a){}
	int x;
};
int main()
{
	f p(7);	//定义一个p使struct中a=7;这里相当于用f结构定义一个函数p(a),p(a)对应于f(int a)
	cout << p.x<<endl; //p.x引用函数中的返回值(由于该处没有return x这种结构)
	return 0;
}

2.不含参数:

struct node
{
	node():x1(1),y1(0){}
	int x1, y1;
};
int main()
{
	node a;	//直接定义,由于原函数里()无内容,所以这里不需要赋值
	cout << a.x1<< endl<< a.y1;//与有参数一致无区别
	return 0;
}

2:class构造函数

与struct构造相似,但是class中要考虑值在public、protect、private中的位置。

区别:成员默认是private,struct 默认是public

区分一下class中public,protect和private访问权限:
public可以都直接访问,protect和private都可以通过有友元类或友元函数访问,但是在继承下访问有其它限制,这里重点讲构造函数,就不列举了。

最最最最最简单的一种(与struct相似):

class t
{
public:
	t():x(1),y(0){}
	int x,y;	
};
int main()
{
	t t1;
	cout << t1.x << endl << t1.y;
	return 0;
}

(太困了,后面的待补吧)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值