类的构造函数,析构函数,动态生成对象

很好用的函数:strlen (C语言函数)

头文件:string.h
格式:strlen (字符数组名)
功能:计算给定字符串的(unsigned int型)长度,不包括’\0’在内
说明:返回s的长度,不包括结束符NULL。
程序示例:

#include<string.h>
#include<stdio.h>
int main(void)
{
    char*s="GoldenGlobalView";
    printf("%s has %d chars",s,strlen(s));
    getchar();
    return 0;
}
//GoldenGlobalView  has  16  chars;

C++输入函数:cin<<变量 与之对应的输出函数是cout<<变量<

构造函数的特点:

1,它是一个普通的函数,但是它又不普通,它的名字和类名是一样的,类一生成对象就会调用这个函数。由于类的封装性,不能像普通函数一样初始化。
2,它是系统自己调用。
3,对类所有变量初始化
4,不能有返回值。

析构函数(destructor)

与构造函数相反,当对象结束其生命周期时(例如对象所在的函数已调用完毕return了,或者对象被delete了),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。

概念难懂,敲一遍心理踏实,知识点:

#include<iostream>
#include<string>

using namespace std;

class Clock
{
public:
    int a;
    int b;                               //成员属性
    Clock(int a,int b,int c);            //构造函数
    ~Clock();                            //析构函数
    void showtime(void)                  //成员函数
    {
        cout<<"调用成员函数"<<'\n'<<Hour<<'\n'<<Minute<<'\n'<<Scend<<'\n'<<endl;
    };
private:
      int Hour,Minute,Scend;             //成员变量
};

Clock::Clock(int a,int b,int c)         //构造函数功能实现(给类成员变量赋值)
{
    Hour = a;
    Minute = b;
    Scend = c;
    cout<<"对象创建成功,自动调用构造函数!!"<<'\n'<<endl;
};

/*
void Clock::showtime()                 //成员函数的定义和具体功能实现(可以在类里面直接定义)
{
        cout<<"调用成员函数"<<'\n'<<Hour<<'\n'<<Minute<<'\n'<<Scend<<'\n'<<endl;
}
*/

Clock::~Clock(void)                    //析构函数具体功能(提示删除成功)实现
{
    cout<<"删除对象成功,自动调用析构函数!!"<<'\n';       //结尾的'\n'可以代替endl
};

void main()
{
    Clock *p = new Clock(10,20,30);         //动态生成对象,并传参,此时系统自动执行构造函数
    p -> showtime();                        //调用成员函数(->是指针的指向运算符)
    delete p;                               //删除生成对象,此时系统自动执行析构函数
    getchar();  
}

/*打印结果:
对象创建成功,自动调用构造函数!!
"调用成员函数"
10
20
30
删除对象成功,自动调用析构函数!!
*/

this->只能在非静态成员函数的内部引用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值