【c++小白自学笔记】构造函数的类型

该类对象被创建时,编译系统对象分配内存空间,并自动调用该构造函数,由构造函数完成成员的初始化工作,故:构造函数的作用:初始化对象的数据成员。有对象才有构造函数。

构造函数的分类:

一. 默认构造函数
即未自定义构造函数,是空的,无作用

cstu()
{
}



二.无参数的构造函数

cstu()

{

}


三.带参数的构造函数

#include  <iostream>

using namespace std;

class cstu
{
public:
	int age;
	float score;
	//无参数的构造函数
	/*cstu()//无参数的构造函数
	{
		age= 18;
		score= 60.5f;
	}*/
	//带参数的构造函数
	cstu(int a,float b)//也可以在此赋值,如cstu(int a,float b=2.8f),但如果传递了参数,该值会被覆盖
	{
		age = a;
		score = b;
		
	}

};

int main()
{
	cstu st;//无参数
	cstu st1(18,62.5f);//带参数的普通栈区传递方式
	cstu* st2 = new cstu(18, 62.5f);//也可进行指针传递
	cout << st.a << endl;
	cout << st1.age<<"  "<<st1.score << endl;
	cout << st2.age << "  " << st2.score << endl;
	return 0;
}

四.多个构造函数的函数重载 
只要宏观声明了构造函数,默认的构造函数就没有了,相当于被覆盖
函数重载与普通函数一样,只要参数列表不同,函数名字可以相同,依据形参的形式调用函数。


五.成员函数的定义
1.类内定义
2.可在类内声明函数,类外定义函数
但在类外函数名前必须加上类名作用域,如:cstu::cstu(int a, float b)//普通函数同样可以
适用于类外定义函数,用于多文件


 

猜你喜欢

转载自blog.csdn.net/qq_43571448/article/details/86500105
今日推荐