C++ 学习之路(6):类的组合
2016-03-16 16:43
369 查看
/* 语言:C++ 编译环境:Visual C++6.0 类的组合: 在一个类中内嵌另一个类的对象作为数据成员,成为类的组合。该内嵌对象成 为对象成员 */ // 例:一个学生含有多门功课的成绩。学生类Student内嵌成绩类Score #include <iostream> #include <string> using namespace std; class Score // 声明成绩类Score { private: double computer; // 计算机成绩 double english; // 英语成绩 double mathematics; // 数学成绩 public: // 类Score的构造函数声明 Score(double c=0, double e=0, double m=0); void show(); }; // 类Score的构造函数定义 Score::Score(double c, double e, double m) { computer = c; english = e; mathematics = m; } void Score::show() // 显示三科成绩 { cout<<"Score computer: "<<computer<<endl; cout<<"Score english: "<<english<<endl; cout<<"Score mathematics: "<<mathematics<<endl; } // 声明学生类Student class Student { private: Score score1;// 类Score的对象score1是类Student的对象成员 string name; // 学生姓名 public: // 类Student的构造函数声明 Student(string name1, double s1, double s2, double s3); void show(); // 声明输出数据函数show() }; // 类Student的构造函数,含有初始化列表。用于对对象成员score1进行初始化 // 先执行类Score的构造函数为对象成员score1初始化,再执行类Student的构造函数对类Student的对象进行初始化 Student::Student(string name1, double s1, double s2, double s3) :score1(s1,s2,s3) { name = name1; } void Student::show() { cout<<"Name: "<<name<<endl; score1.show(); // 调用对象成员score1的show()函数显示3科成绩 } int main() { // 定义类Student的对象stu1,调用stu1的构造函数,初始化对 // 象stu1 Student stu1("LiMing",87,94,77); stu1.show(); // 调用stu1的show()函数,显示stu1的数据 return 0; } /* 在main中创建Student的对象时,首先调用的是类Score的构造函数,对类Student的对象成员进行初始化,而后再调用类Student的构造函数对新的Student类型的对象进行初始化 */
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题
- C++变位词问题分析
- C/C++数据对齐详细解析
- C++基于栈实现铁轨问题
- C++中引用的使用总结
- 使用Lua来扩展C++程序的方法
- C++中调用Lua函数实例
- Lua和C++的通信流程代码实例
- C与C++之间相互调用实例方法讲解
- 解析C++中派生的概念以及派生类成员的访问属性