构造函数是一种特殊的类成员函数,在创建对象时被调用。构造函数的名称和类名相同。
构造函数的作用:初始化新对象
使用方法也很简单:
第一种方法
#include<iostream>
using namespace std;
class Fruit {
private:
int weight;
int price;
public:
Fruit(int a = 0, int b = 0) : weight(a), price(b) {} // 使用构造函数初始化列表
void show();
};
void Fruit::show() {
cout << "The weight is " << weight << endl;
cout << "The price is " << price << endl;
}
int main() {
Fruit apple; // 使用默认参数创建对象,可以这样用
apple.show();
Fruit apple2(11,22);//也可以这样,对对象赋初值
apple2.show();
return 0;
}
另一种赋初值方法:
#include<iostream>
using namespace std;
class Fruit{
private:
int weight=0;
int price=0;
public:
void show();
Fruit(int a,int b);//构造函数
};
void Fruit::show(){
cout<<"The weight is "<<weight<<endl;
cout<<"The price is "<<price<<endl;
}
Fruit::Fruit(int a,int b){
weight=a;
price=b;
}
int main(){
Fruit apple{99,100};//还可以这样赋初值
apple.show();
return 0;
}
注意:
1.默认构造函数没有参数,不做任何工作
以上面的代码为例,默认的构造函数长这样
Fruit(){ }
2.可以创建多个同名的构造函数,但是参数列表不能相同
3.初始化对象,还可以在对象之间使用赋值语句
以上文代码举例,我们已经创建了两个对象,一个是apple和apple2,则可以这样赋值
apple=apple2(11,22);
他的意思是,apple里面的初值被apple2里面的初值11,22覆盖了了
4.第二种方法注意{ }里面的数据类型要与类里面的数据类型匹配。