面向对象的程序设计-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;
}
当一个类的对象指针作为另外一个类的成员时,可以先声明后定义。此时采用的是指针或引用
只要一个类已经声明(可以还没有定义),则指向该类的对象指针或该类对象的引用都
可以作为另一个类的数据成员
*/
#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;
}
- 面向对象的程序设计-13-对象指针作为另外一个类的成员
- 一个类的对象作为另一个类的成员
- C++ 一个类的对象作为另一个类的成员
- 面向对象的程序设计
- 面向对象的程序设计
- 面向对象的程序设计
- 面向对象的程序设计
- 面向对象的程序设计
- 面向对象的程序设计
- 面向对象的程序设计
- 面向对象的程序设计
- 面向对象的程序设计
- 面向对象的程序设计
- 【面向对象程序设计常见面试题】如何定义和实现一个类的成员函数为回调函数?
- 面向对象的程序设计学习笔记-17-静态成员数据
- 【C++面向对象】C++的类型成员指针
- 作为对象的函数指针
- 面向对象的程序设计学习笔记-16-使用this指针
- Hibernate中get和load方法的区别
- 输入10 个数据,输出平均值及大于平均值得数
- Java中的线程让步Thread.yield()
- 我的颜色
- TClientDataSet[9]: 计算字段和 State
- 面向对象的程序设计-13-对象指针作为另外一个类的成员
- GCC的-fomit-frame-pointer编译选项的含义
- Android ApiDemos示例解析(69):Graphics->PathEffects
- 杭电Hd 2029 Palindromes _easy version
- TClientDataSet[8]: 关于索引与排序
- Distributed System概述
- .ne中gridview常用增删改的方法
- 市场上常见电阻阻值表
- 2013年我要做的几件事