1.何为构造函数(Constructor)?
在C++中,有一种特殊的成员函数,它的名字和类名相同,没有返回值,不需要用户显式调用(用户也不能调用)(显式调用示例:对象.成员函数的形式。),而是在创建对象时自动执行。这种特殊的成员函数就是构造函数(Constructor)。
先来看个构造函数,示例1:
#include <iostream>
using namespace std;
class Student{
private:
char *m_name;
int m_age;
float m_score;
public:
//声明构造函数
Student(char *name, int age, float score);
//声明普通成员函数
void show();
};
//定义构造函数
Student::Student(char *name, int age, float score){
m_name = name;
m_age = age;
m_score = score;
//打印调用时信息
std::cout << "Student(char *name, int age, int score):called "<< "\n";
}
//定义普通成员函数
void Student::show(){
std::cout << "姓名: " << m_name <<
" 年龄: " << m_age << " 分数:" << m_score << "\n";
}
int main(){
//创建对象时向构造函数传参
Student stu("小明", 15, 92.5f);
stu.