构造函数是一种特殊的函数,它用于在创建对象时初始化对象的值。在本文中,我们将学习C++的构造函数以及如何使用它们来创建对象,希望对大家有所帮助
C++构造函数学习
构造函数是一种特殊的函数,它用于在创建对象时初始化对象的值。所有的类都有构造函数,但如果没有自定义,则会使用默认构造函数。在本文中,我们将学习C++的构造函数以及如何使用它们来创建对象。
构造函数的基本语法是在声明类时定义,语法如下:
class MyClass{
public:
MyClass(); //构造函数的声明
private:
// 成员变量声明
};
MyClass::MyClass(){
// 构造函数的具体实现
}MyClass()是构造函数的名称,它与类名相同且没有返回类型。构造函数的主体用大括号包括,并进行初始化或其它操作。
默认构造函数是一种不带任何参数的构造函数,如果没有定义任何构造函数,则编译器将使用默认构造函数。例如:
class MyClass{
public:
// 默认构造函数
private:
// 成员变量声明
};
MyClass::MyClass(){
// 参数为空
}下面介绍一些常见的构造函数用法。
1.带参数的构造函数
带参数的构造函数允许在实例化对象时传递参数。例如,下面的代码演示了如何使用带参数的构造函数来初始化姓名和年龄:
#include <iostream>
using namespace std;
class Person{
public:
string name;
int age;
Person(string _name, int _age) {
name = _name;
age = _age;
}
};
int main() {
Person p1("john", 18);
cout << "name: " << p1.name << endl;
cout << "age: " << p1.age << endl;
return 0;
}2.多个构造函数
一个类可以有多个构造函数,每个构造函数可以有不同的参数列表。例如,以下代码演示了一个包含两个构造函数的类:
#include <iostream>
using namespace std;
class Person{
public:
string name;
int age;
Person(string _name, int _age) {
name = _name;
age = _age;
}
Person() {
name = "unknow";
age = 0;
}
};
int main() {
Person p1("john", 18);
cout << "name: " << p1.name << endl;
cout << "age: " << p1.age << endl;
Person p2;
cout << "name: " << p2.name << endl;
cout << "age: " << p2.age << endl;
return 0;
}3.拷贝构造函数
拷贝构造函数是带有单个参数的构造函数,它接受同一类型的对象作为输入,并初始化一个新的对象。例如,以下代码演示了一个包含拷贝构造函数的类:
#include <iostream>
using namespace std;
class Person{
public:
string name;
int age;
Person() {
name = "unknow";
age = 0;
}
Person(const Person &p) {
name = p.name;
age = p.age;
}
};
int main() {
Person p1("john", 18);
Person p2(p1);
cout << "name: " << p2.name << endl;
cout << "age: " << p2.age << endl;
return 0;
}以上就是一文带你学习一下C++中的构造函数的详细内容,更多关于C++构造函数的资料请关注编程学习网其它相关文章!
本文标题为:一文带你学习一下C++中的构造函数
- c++ const 成员函数,返回一个 const 指针.但是返回的指针是什么类型的 const? 2022-10-11
- 我应该为我的项目使用相对包含路径,还是将包含目录放在包含路径上? 2022-10-30
- Easyx实现扫雷游戏 2023-02-06
- ubuntu下C/C++获取剩余内存 2023-09-18
- 详解C语言中sizeof如何在自定义函数中正常工作 2023-04-09
- C语言qsort()函数的使用方法详解 2023-04-26
- C++ 数据结构超详细讲解顺序表 2023-03-25
- Qt计时器使用方法详解 2023-05-30
- C语言详解float类型在内存中的存储方式 2023-03-27
- C语言手把手带你掌握带头双向循环链表 2023-04-03
