原创 学习C++的日子 第四天 2018年01月01日

2019-1-1 21:15 2347 20 7 分类: 软件与OS 文集: 程序语言

构造函数 constructor 与 析构函数 destructor
用途:
构造函数 constructor 初始化
          特点:生成类的对象的同时,会自动调用构造函数。所以被用于初始化。
          相当于以类的名称命名的函数。
析构函数 destructor  破弃生成类的对象时所占用的内存。
构造函数名与类名相同。
析构函数名带有非运算符的类名
////////////////////////////////////////////////////////////////////////////////
//例1
#include
using namespace std;
class myworld
{
    char *str;
public:
    myworld(); //构造函数
    ~myworld();//析构函数
    void print();
};

myworld::myworld()//构造函数的定义,
{
    str = "welcome to myworld";//对str初始化
}
myworld::~myworld()//析构函数的定义,
{
}


void myworld::print()
{
    cout << str << endl;
}

int main()
{
    myworld obj;
    obj.print();
    return 0;
}

//特征:
在类的内部 进行宣言,在外部定义。这种用法和类的成员函数的宣言和定义的方法类似。
当然也可以在类的内部进行定义。但为了明确代码制作规则,本人在此并不建议,不做介绍。
因为在生成类的对象时,自动被调用,用于初始化和释放内存,所以并不会像函数一样需要被手动调用。
////////////////////////////////////////////////////////////////////////////////
构造函数的活用
例2
#include
using namespace std;
class myworld
{
    int a;
public:
    myworld(int b);
    ~myworld();
    void print();
};

myworld::myworld(int b) //定义值参
{
    a = b;
}
myworld::~myworld()
{
}


void myworld::print()
{
    cout << a << endl;
}

int main()
{
    myworld obj(123);//值参代入实际的数值。
    obj.print();
    return 0;
}

特点:
向类的对象直接代入值,因为生成类的对象时,就会自动调用构造函数,对代入的值进行处理。
因为类似于对函数代入值,自然也可以定义多个值参。
PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户1724505 2019-6-10 17:51

学习一下!

二不过三 2019-1-2 09:54

博主新年好!
相关推荐阅读
用户3880034 2018-12-30 16:04
学习C++的日子 第三天 2018年12月30日
function overloading 叫法 函数重载,函数多载。在电气学上,overloading有过载的意思,说实在的这个英文说法总觉的不是很准确。本人在这里使用了函数多载这个说法。要做的是什么...
用户3880034 2018-12-29 21:27
学习C++的日子 第二天 2018年12月29日
class:类  基础1这里简单介绍一下类,后面还会详细叙述/////////////////////////////////////////////////////////////////...
用户3880034 2018-12-14 00:00
学习C++的日子 第一天 2018年12月14日
因为工作变动,现在需要学习C++,说真的,这个岁数学起来确实是非常的吃力。    应用环境还是Virtual C++6.0,这个比较单纯一些,又是免费的。按照惯例,先从h...
用户3880034 2018-09-18 21:47
电路板设计入门 第十九天 记 20180918
减少去耦电容所带来的影响对于可能使用大电流的多引脚,大规模的LSI等,需要谨慎设置去耦电容。例如针对8片,各1000个引脚的BGA元件的设计,疏漏掉对同时进行信号变化的考虑时,有时会出现设计的去耦电容...
用户3880034 2018-09-09 21:12
电路板设计入门 第十八天 记 20180909
DRC检查分为在线和设计完成后。   在线DRC检查指的是在设计中能够进行查错功能。例如,两线距离过进,元件焊盘重叠,就会出现即时报错。并会根据布线规则,及时避开等。设计完成后的检...
EE直播间
更多
我要评论
2
20
关闭 站长推荐上一条 /3 下一条