信管14:对象数组、指针示例分析例程
来源:互联网 发布:2015印度软件产值 编辑:程序博客网 时间:2024/06/12 19:31
当一个类对象是多个时,便于操作,一般使用对象数组。
对于数组的使用,要掌握数组的定义形式、数组对象的访问形式、数组对象元素的初始化形式、数组元素对象成员的调用形式等内容,要注意的是,在设计类的构造函数时就要充分考虑到对象数组元素初始化的需要。
当数组各对象的初值要求为不同的值时,需要定义带参数(无默认值)的构造函数。
当数组各对象的初始值为相同的值时,可以在类中定义不带参数的构造函数或带有默认参数值的构造函数。
对象指针,是指向对象的指针,使用的一般指针是一样的,只要明白指向的是一个对象就可以灵活使用指针了。
#include<iostream> using namespace std;class exam{ int x; public: exam( ){ x=123;} exam(int n) { x=n;} int get_x() { return x; }}; void print(exam o) {cout<<o.get_x()<<" "; } void print(exam *o) {cout<<o->get_x()<<" "; } int main(){ exam ob[4]={55,66}; exam *p=ob; int i; for (i=0;i<4;i++)cout<<ob[i].get_x()<<" "; cout<<endl; for (i=0;i<4;i++,p++)cout<<p->get_x()<<" "; cout<<endl; for (i=0;i<4;i++,p++)print(ob[i]); cout<<endl; for (i=0;i<4;i++,p++)print(&ob[i]); cout<<endl; for (i=0;i<4;i++,p++)cout<<(*p).get_x()<<" "; //分析结果错误原因并改正 system("pause"); return 0; }
对于上面的程序回答下面的问题:
1.最后一个循环运行结果是错误的,为什么?如何改正?
2.掌握程序中对象指针的使用。
3.掌握数组参数作为函数参数的使用。
4.试在程序基础上再定义一个数组(元素个数自己确定,数组名自己确定),初始化时要求使用不带能构造函数。然后再输出各个对象相关信息。
0 0
- 信管14:对象数组、指针示例分析例程
- 信管14:对象成员示例
- 信管14:c++:定义对象示例:学生类
- 信管14:对象的成员访问示例
- 信管14:对象数据成员访问示例
- 信管14:函数重载示例
- 信管14:静态成员函数示例
- 信管14:静态数据成员示例
- 信管14:友元函数示例
- 信管14:多重继承示例一
- 信管14:类的继承示例代码2
- 信管14:多重继承二义性示例代码
- 信管14:多重继承-虚基类示例代码?
- 信管14:虚函数示例代码一
- 信管14:虚函数示例代码二
- 信管14:纯虚函数示例代码
- 信管14:运算符重载示例一
- 信管14:运算符重载示例二
- MySingleton 良讯网
- 软考系统架构设计师学习笔记
- 在Centos中安装TCPReplay
- java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
- Linux SCP命令复制传输文件的用法
- 信管14:对象数组、指针示例分析例程
- Linux下创建库文件
- Ubuntu 下安装Sublime Text 2
- 设置两个界面的相对位置
- QListView的使用
- jquery.Jcrop中解决jQuery不支持$.browser的办法
- 把Sublime Text 2 加入右键菜单(带图标),Edit with Sublime Text
- 类A是公共的,应在名为A.java的文件中声明错误
- ios关联的一些用法