博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C++类的相互关联
阅读量:6114 次
发布时间:2019-06-21

本文共 1125 字,大约阅读时间需要 3 分钟。

方法

  • 其中一个类的hpp,cpp都正常写,也就是hpp引用另一个类,cpp引用自己的hpp

  • 另一个类,hpp中声明关联类,cpp中引用关联类

示例

/* Teacher.hpp */#ifndef Teacher_hpp#define Teacher_hpp#include 
#include "Student.hpp"class Teacher {public: Student * students;};#endif /* Teacher_hpp */
/* Teacher.cpp */#include "Teacher.hpp"
/* Student.hpp */#ifndef Student_hpp#define Student_hpp#include 
//#include "Teacher.hpp"class Teacher;class Student {public: int number; Teacher * teacher; Teacher * getTeacher();};#endif /* Student_hpp */
/* Student.cpp */#include "Teacher.hpp" // 只需要导入关联类的头文件,因为里面包含Student.hpp//#include "Student.hpp"Teacher * Student::getTeacher() {    return teacher;}
/* main.cpp */#include 
#include
#include "Teacher.hpp"#include "Student.hpp"using namespace std;int main() { // 随便做点儿什么 Teacher teacher; Student students[10]; teacher.students = students; for (int i = 0; i < sizeof(students) / sizeof(Student); i++) { teacher.students[i].number = i; teacher.students[i].teacher = &teacher; cout << i << endl; } cout << sizeof(students) << endl; return 0;}

转载地址:http://tfjka.baihongyu.com/

你可能感兴趣的文章
Cordova 开发环境搭建及创建第一个app
查看>>
ajax请求拿到多条数据拼接显示在页面中
查看>>
小程序: 查看正在写的页面
查看>>
dedecms生成文档数据库崩溃 mysql daemon failed to start
查看>>
Linux的50个基本命令
查看>>
Objective-C中创建单例方法的步骤
查看>>
[转]无法安装MVC3,一直卡在vs10-kb2483190
查看>>
Codeforces 520B:Two Buttons(思维,好题)
查看>>
web框架-(二)Django基础
查看>>
Jenkins持续集成环境部署
查看>>
emoji等表情符号存mysql的方法
查看>>
Excel到R中的日期转换
查看>>
检查磁盘利用率并且定期发送告警邮件
查看>>
MWeb 1.4 新功能介绍二:静态博客功能增强
查看>>
linux文本模式和文本替换功能
查看>>
Windows SFTP 的安装
查看>>
摄像机与绕任意轴旋转
查看>>
rsync 服务器配置过程
查看>>
预处理、const与sizeof相关面试题
查看>>
爬虫豆瓣top250项目-开发文档
查看>>