面向对象的程序设计-13-对象指针作为另外一个类的成员

来源:互联网 发布:vue.js 点击内容显示 编辑:程序博客网 时间:2024/06/04 18:08
/*
当一个类的对象指针作为另外一个类的成员时,可以先声明后定义。此时采用的是指针或引用
只要一个类已经声明(可以还没有定义),则指向该类的对象指针或该类对象的引用都
可以作为另一个类的数据成员
*/
#include<iostream>
using namespace std;
class M;//向编译系统声明,M类在整个源程序内已经定义
class N
{
    int id;
public:
    M *pm;//M类的对象指针
    N(int i){id=i;}
    int get_name()
    {return id;}
};
class  M
{
public:
    int value;
    M(int i){value=i;}
    M(){value=0;}
    int get_name()
    {return value;}
};
void main()
{
    M m1(8),m2(9);
    N n(3);
    n.pm=&m2;
    /*对象n的对象指针成员pm指向m1*/
    cout<<"value of m1="<<m1.get_name()<<endl;
    cout<<"value pointed by the member pm of n="<<n.pm->get_name()<<endl;
    cout<<"id of n="<<n.get_name()<<endl;

}
原创粉丝点击