42、成员对象

  成员对象就是类的成员是对象类型,在类当中定义对象。
  
例1:在类内定义中将另一个类的对象作为成员

// 在类内定义中将另一个类的对象作为成员
#include<iostream>
class A
{
public:
    int x;

};
class B
{
public:
    class A obj;//或者 A obj
};

void main()
{
   class B bobj;
   bobj.obj.x=10;
   std::cout<<bobj.obj.x<<std::endl;
}

结果输出为:10。
例2:在类内定义一个指向其他类对象实例的指针

// 在类内定义一个指向其他类对象实例的指针
#include<iostream>
class A
{
public:
    int x;

};
class B
{
public:
    class A *p;//或者 A obj
};

void main()
{
   B bobj;
 //  bobj.p=new A;   //位为bobj对象的成员指针p分配存储空间
   bobj.p->x=10;
   std::cout<<(bobj.p->x)<<std::endl;
   delete bobj.p;
}

结果输出为:10。
  类中定义的指针变量,指向同一类的对象。
例3:定义类中包括一个指向自身类别的对象的指针,利用这个指针,构成链表

//定义类中包括一个指向自身类别的对象的指针,利用这个指针,构成链表
#include<iostream>
class Node
{public:
   int Data;
   Node *pnextNode;
};

class Chain
{public:
    class Node FirstNode;
    class Node *pCurrentNode;
    int ChainLength;
};
void main()
{
    class Chain MyList;
    MyList.ChainLength=0;
    MyList.pCurrentNode=&MyList.FirstNode;
    for(int i=1;i<10;i++)
    {
        MyList.pCurrentNode->pnextNode=new Node;
        MyList.pCurrentNode=MyList.pCurrentNode->pnextNode;
        MyList.pCurrentNode->Data=i;        
    }
    MyList.pCurrentNode->pnextNode=NULL;
    MyList.pCurrentNode=MyList.FirstNode.pnextNode;
    while(MyList.pCurrentNode)
    {
        std::cout<<MyList.pCurrentNode->Data<<"->";
        MyList.pCurrentNode=MyList.pCurrentNode->pnextNode;
    }
    std::cout<<"NULL"<<std::endl;
}

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值