当前位置: 移动技术网 > IT编程>开发语言>C/C++ > 【6】学习C++之类的实例化及访问

【6】学习C++之类的实例化及访问

2019年04月14日  | 移动技术网IT编程  | 我要评论

东莞新世纪星城,奥克斯手机论坛,揭阳休闲

类就像一张图纸,如果不去实例化,制造出相应的零件,用处就不会那么大。

实例化类有两种,一个是从栈中实例化对象:

class tv
{
public:
    char name[20];
    int type;

    void changevol();
    void power();
}

int main(void)
{
    tv tv;    //实例化一个对象
    tv tv[20];//实例化一组对象

    return 0;
}

另一个是从堆中实例化对象:

class tv
{
public:
    char name[20];
    int type;

    void changevol();
    void power();
}

int main(void)
{
    tv *p = new tv();    //实例化一个对象
    tv *q = new tv[20];  //实例化一组对象
    delete p;
    delete []q;

    return 0;
}

这两种实例化后的对象的访问方式也是有所不同的,如果是从栈中实例化的对象的成员,访问用点(.)即可:

int main(void)
{
    tv tv;
    tv.type = 0;
    tv.changevol();
    return 0;
}

如果是从堆中实例化的对象的成员,访问用箭头(->)即可:

int main(void)
{
    tv *p = new tv();
    p ->type = 0;
    p ->changevol();
    delete p;
    p = null;
    return 0;
}

如果是从堆中实例化的一组对象的成员,则是额外需要for循环:

int main(void)
{
    tv *p = new tv[5];
    for(int i = 0;i<5;i++)
    {
        p ->type = 0;
        p ->changevol();
    }
    delete []p;
    p = null;
    return 0;
}

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网