最近开始自学C++,目前是到了面向对象相关的知识,但是我对类中的构造函数存在许多不理解的地方。于是我在网上找了许多帖子看,也进行了一些代码的练习。总结了一下的相关知识点:
1、类的构造函数名必须和所在类的名字一致,这是强制性要求;
2、构造函数没有返回值,但是必须有参数列表;
3、构造函数的成员初始化参数列表可以用来初始化在构造函数之外定义的变量,它的结构是:
:被初始化的成员变量(赋值参数)
4、构造函数可以直接访问priveta里面的数据,因此子类若想要访问父类的priveta区的数据,可以在构造函数中预先定义好操作步骤,进而实现对父类priveta区数据的操作;
以下是练习代码,若有错误,欢迎指正!
#include <iostream>
using namespace std;
class preson{ //构造函数的名字要和类名相同,强制性要求
public:
string name1;
int age1;
//成员初始化参数列表已经已经将name赋值给那么name1,age赋值给age1,可以直接被打印
preson(string name, int age):name1(name),age1(age){ //构造函数无需返回类型,但必须有参数列表
name2 = name1;
age2 = age1;
cout << "Hello, my name is " << name1 << " and I am " << age1 << " years old." << endl;
cout << "Hello, my name is " << name2 << " and I am " << age2 << " years old." << endl;
}
private:
string name2;
int age2;
};
int main() {
preson p("John", 25);
return 0;
}