C++构造函数详解

C++中的构造函数用于在创建对象时初始化对象的数据。它有以下几个特点:

1. 构造函数的名称与类同名。

2. 构造函数没有返回类型,也不写void。

3. 构造函数用于在对象创建时初始化对象的数据。

4. 如果没有定义构造函数,编译器会自动生成一个默认构造函数。

5. 构造函数可以重载,但是不能继承。

6. 构造函数可以有参数,也可以没有参数。

7. 构造函数内可以有异常处理语句。

一个简单的构造函数示例如下:

class Person {
public:
    // 构造函数
    Person() {
        name = "John";
        age = 30;
    }
private:
    string name;
    int age;
};

当我们创建Person对象时,构造函数会被自动调用,name和age成员变量就被初始化了:

Person p;  // 调用构造函数,p.name = "John", p.age = 30

我们也可以重载构造函数,添加参数:

class Person {
public:
    Person() { ... }
    
    // 构造函数重载
    Person(string n, int a) {
        name = n;
        age = a; 
    }
};

Person p1("Mary", 20);  // p1.name = "Mary", p1.age = 20

在对象创建之前,先调用构造函数初始化对象的数据。一旦对象创建完毕,构造函数的使命就完成了。如果在构造函数中抛出异常,对象不会被创建:

class Person {
public:
    Person() {
        if (someerror) {
            throw someexception;  
        }
    }
};  

try {
    Person p;  // 如果构造函数中抛出异常,p不会被创建
} catch (someexception e) {
    // 处理异常
}

这就是C++构造函数的主要内容与特点了。它用于在对象创建时初始化对象的数据,是对象实例化不可缺少的一步。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论