c++入门教程(十四)
来源:互联网 发布:剑网三捏脸数据免费 编辑:程序博客网 时间:2024/05/16 12:51
前面我们提到了用于方便的声明多个变量的数组,解决了保存一个班级的人的年龄的问题,但是,一个人不光只有年龄这一个属性,还有姓名,学号等.如果想存储这些东西,可以另外声明几个数组,按顺序分别来保存这些属性 类似
#include<iostream>#include<string>using namespace std;void main(){int age[3] = {17,16,15};string name[3] = {"大仙","止水","田叔叔"};string num[3] = {"26810101","26810102","26680115"};for(int i=0; i<3; i++){cout<<"姓名:"<<name[i]<<endl<<"年龄:"<<age[i]<<endl<<"学号:"<<num[i]<<endl<<endl<<endl;}}结果如下
但是,如果有种类型的变量可以直接同时存储姓名,年龄,学号等信息就更好了。类似的对类型的需求有无数种,c++不可能每一种都满足。但是,它提供了自己定义新类型的功能。这样子我们就可以随心所欲的定义和使用我们自己的类型了。语法如下
struct 想自定义的类型名{
属性类型 属性名;
属性类型 属性名;
.
.
.
属性类型 属性名;
}; 注意 ,最后面有一个分号的
这样我们就可以自己新发明一个 学生类型 了 如下:
struct student{int age;string name;string num;};声明变量的时候 我们新发明的 student类型和常用的那些数据类型声明变量的方法相同。如下:
student a,b,c;然后,我们需要对student类型的变量中的每个属性进行修改,或者得到它们的值。我们用 变量名称.属性名称 来得到对应的属性 如下
a.name对新类型变量的属性的操作和对普通类型变量的操作方式相同,例如:
a.age = 12;cout<<b.age;c.age = b.age +2;
#include<iostream>#include<string>using namespace std;struct student{int age;string name;string num;};void main(){student a[3];a[0].age = 17;a[0].name = "大仙";a[0].num = "26810101";a[1].age = 16;a[1].name = "止水";a[1].num = "26810102";a[2].age = 15;a[2].name = "田叔叔";a[2].num = "26680115";for(int i=0; i<3; i++){cout<<"姓名:"<<a[i].name<<endl<<"年龄:"<<a[i].age<<endl<<"学号:"<<a[i].num<<endl<<endl<<endl;}}
结果同第一个。然后我们发现 没给属性都要赋值一次好累哦,难道没有像数组初始化一样的操作吗? 有,自定义的变量可以通过大括号将所有属性值括起来属性值直接用逗号分割的形式赋值。如下
student b = {12,"止水","26810115"};
上面这段渣渣的vc6.0不支持,但是高级点的是可以的 代码如下
下面是结果
然后下面是更简便的操作
结果如下(vc6.0搞不定,我用的其它编译器)
有时间可以试一试输入几个学生的基本信息,然后再输出所有学生的信息,或者 输出满足某些条件的学生的信息(比如输出小于12岁的学生的信息)
阅读全文
0 0
- C语言入门教程 (十四) 预处理过程
- c++入门教程(十四)
- ExtJs 入门教程十四[数据代理 :DataProxy]
- ExtJs 入门教程十四[文本编辑器:Editor]
- OPENCV入门教程十四:medianBlur中值平滑
- RabbitMQ入门教程(十四):RabbitMQ单机集群搭建
- 十四 v4l2_common.c浅析
- ReportStudio入门教程(十四) - 隐藏后的单元格显示
- Framework Manager入门教程(十四) - 设定查询处理类型(Query Processing)
- twisted入门教程之十四:Deferred用于同步环境
- 【Cocos2d入门教程十四】Cocos2d-x与Java的通讯
- 无废话ExtJs 入门教程十四[文本编辑器:Editor]
- [C语言学习]作业十四
- 细读《Effective C++》之十四
- C核心技术手册(十四)
- c语言学习笔记十四
- 《Inside C#》笔记(十四) 反射
- Visual C++/MFC入门教程
- Maven入门
- 多线程报错 : Exception in thread "Thread-3" java.util.ConcurrentModificationException 并发修改异常
- mysql设置管理员账号
- 某人工智能公司Java笔试题
- 学生成绩管理系统(Linux Shell版)
- c++入门教程(十四)
- c++的类模板
- Java虚拟机二:垃圾回收机制
- Django中models文件中的字段
- Lua5.3 虚拟机指令分析(五)函数调用
- 搭建javaweb服务器
- Lua5.3 虚拟机指令分析(六)不定参数
- Lua5.3 虚拟机指令分析(八)循环
- Lua5.3 虚拟机指令分析(十)表相关指令