伙伴云客服论坛»论坛 S区 S软件开发 查看内容

0 评论

0 收藏

分享

一文带你学习一下C++中的构造函数

目录

    C++构造函数学习1.带参数的构造函数2.多个构造函数3.拷贝构造函数


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++构造函数的资料请关注网站其它相关文章!

回复

举报 使用道具

全部回复
暂无回帖,快来参与回复吧
本版积分规则 高级模式
B Color Image Link Quote Code Smilies

太极
注册会员
主题 20
回复 13
粉丝 0
|网站地图
快速回复 返回顶部 返回列表