构造函数,作用是完成对象的初始化工作。
可类比于:int a = 1;这里是给变量a赋初值。
构造函数是一种特殊的函数,首先构造函数名与类名是完全一致的,其次构造函数没有类型。
构造函数可以不带参数,也可以带参数。
#include <iostream>
using namespace std;
class Dog
{
public:
string name;
// 无参构造函数
Dog()
{
cout << "Dog's constructor!" << endl;
}
// 有参构造函数
Dog(string Name)
{
name = Name;
cout << "Dog's constructor with name!" << endl;
}
void run()
{
cout << name << " is running..." << endl;
}
};
int main()
{
Dog dog1;
dog1.name = "Wang Cai";
dog1.run();
Dog dog2("Xiao Bai");
dog2.run();
return 0;
}
运行结果:
Dog’s constructor!
Wang Cai is running...
Dog’s constructor with name!
Xiao Bai is running
从运行结果可以看出,构造函数是在生成对象时被调用的,并且不需要显示调用。
更多内容请关注微信公众号