构造函数
构造函数进行初始化
构造函数,它是一种特殊的函数,主要用来在创建对象时初始化对象,即为对象的成员变量赋初始值。
也可以将对象在创建之初需要执行的逻辑写在构造函数中。
构造函数的特殊性:
- 没有(不是缺省)函数返回值类型
- 函数名和类名相同
- 对象存在时会自动调用构造函数,刚好可以帮助完成初始化的功能
- 构造函数的调用时机:一个栈区对象产生,一个指针动态一个堆区内存对象产生
- 构造函数可以重载,在调用时根据实际调用时给的参数来决定执行哪一个构造函数。构造函数在对象创建时,调用是唯一的。
- 构造在没有主动书写的情况下,系统会提供一个隐式的什么都不干的默认构造函数。
代码示例
#include<iostream>
class MyStu
{
private:
int id;
int age;
public:
MyStu() //构造函数
{
id = 0;
age = 123;
setStuID(id); //函数体内可以再次调用函数
}
MyStu(int i, int a)
{
id = i;
age = a;
}
void setStuID(int i)
{
id = i;
}
int getStuID()
{
return id;
}
int getStuAge()
{
return age;
}
}