C++结构体嵌套
2021/7/27 14:06:44
本文主要是介绍C++结构体嵌套,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
#include <iostream> #include <string> using namespace std; //学生结构体 struct Student { private: string s_name;//学生姓名 public: //构造函数 Student(string name) { s_name = name; } //setter&getter void setName(string name) { s_name = name; } string getName() { return s_name; } //自我介绍 void selfIntroduction() { cout << "嗨,大家好,我是" << s_name << endl; } }; //老师结构体 struct Teacher { private: string t_name;//教师姓名 struct Student* m_stus;//教师指导的学生,这里用指针,如果是数组得指明长度,但是数组名不可变,不能set int m_stus_size;//教师指导的学生的个数 public: //构造函数 Teacher(string name, struct Student* stus, int stus_size) { t_name = name; m_stus = stus; m_stus_size = stus_size; } //setter&getter void setName(string name) { t_name = name; } string getName() { return t_name; } void setStus(struct Student stus[]) {//其实以指针形式接收 m_stus = stus; } Student* getStus() { return m_stus; } void setStusSize(int stus_size) {//其实以指针形式接收 m_stus_size = stus_size; } int getStusSize() { return m_stus_size; } //自我介绍 void selfIntroduction() { cout << "大家好,我是" << t_name <<"老师,我带有" <<m_stus_size<<"个学生,"; if (m_stus_size >= 2) { cout << "分别是"; } for (int i = 0; i < m_stus_size; i++) { if (i == m_stus_size - 1) { cout << m_stus[i].getName() <<","; } else if (i == m_stus_size - 2) { cout << m_stus[i].getName() << "和"; } else { cout << m_stus[i].getName() << "、"; } } cout << "希望大家努力学习,不负韶华。" << endl; } }; int main() { struct Student stus[] = { {"张三"}, {"李四"}, {"王五"} }; int len = sizeof(stus) / sizeof(stus[0]); Teacher t = {"罗翔",stus,len}; t.selfIntroduction(); system("pause"); return 0; }
这篇关于C++结构体嵌套的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26MATLAB 中 A(7)=[];什么意思?-icode9专业技术文章分享
- 2024-11-26UniApp 中如何实现使用输入法时保持页面列表不动的效果?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中怎么实现输入法弹出时禁止页面向上滚动?-icode9专业技术文章分享
- 2024-11-26WebSocket是什么,怎么使用?-icode9专业技术文章分享
- 2024-11-26页面有多个ref 要动态传入怎么实现?-icode9专业技术文章分享
- 2024-11-26在 UniApp 中实现一个底部输入框的常见方法有哪些?-icode9专业技术文章分享
- 2024-11-26RocketMQ入门指南:搭建与使用全流程详解
- 2024-11-26RocketMQ入门教程:轻松搭建与使用指南
- 2024-11-26手写RocketMQ:从入门到实践的简单教程
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版