构造函数和析构函数1

本文详细介绍了C++中的构造函数和析构函数,包括它们的命名规则、参数、返回值、重载以及在类中的使用示例。同时,讨论了析构函数的作用,它是对象销毁时自动执行的清理操作。
摘要由CSDN通过智能技术生成

一.构造函数的特点

1.构造函数的名字必须和类名相同

2.构造函数可以有指定的返回类型,但不能指定返回值类型,可以不带参数

3.函数体可以在类里也可以在类

4.构造函数可以重载,即一个类可以定义多个不同个数或参数类型不同的构造函数

5.构造函数被声明为公有函数,但它不能被显示的调用(类外),他是系统自动调用

二.例子

构造函数:类名 对象名 (实参表)

1.初始化

(1)Complex A(3.0,4.0)

#include<iostream>
using namespace std;
#include<cmath>
class Complex{
public:
    Complex()//不带参数
{real=0;imag=0;}
    Complex(double r,double i)//带参数,定义一个局部变量接受main函数传过来的值,传递给数据成员
{real=r;imag=i;}
double abscomplex()
{
double t;
t=real*real+imag*imag;
return sqrt(t)
}
private:
    double real;
    double imag;
};
int main()
{
Complex A1,A2(3.0,4.0);//第一个没参,第二个有参
cout<<A1.abscomplex()<<" "<<A2.abscomplex()<<endl;
return 0;
}

(2)

类名::构造函数([]参数表])[:(成员初始化表)]初始化表--数据成员1(初始值1),数据成员2(初始值2)

{

构造函数体

}

class Date{
    public:
        Date(int y,int m,int d);//申明
    private:
        int year;
        int month;
        int day;
};
Date::Date(int y,int m,int d):year(y),month(m),day(d){}

不可以在构造函数中对变量进行赋值

带默认参数的构造函数

Date(int y,int m=0,int d=2);

三.析构函数

是一种特殊的成员函数,执行与构造函数相反的操作,用于撤销对象时的一些清理任务.

1.与构造函数名字相同,但前面加个~

2.一个类中只能有一个析构函数,没参数,没返回值,不能重载

3.当撤销对象时,编译系统会自动地调用析构函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值