您的位置:首页 > 其它

信管14:对象数组、指针示例分析例程

2015-04-02 09:13 239 查看
        当一个类对象是多个时,便于操作,一般使用对象数组。

       对于数组的使用,要掌握数组的定义形式、数组对象的访问形式、数组对象元素的初始化形式、数组元素对象成员的调用形式等内容,要注意的是,在设计类的构造函数时就要充分考虑到对象数组元素初始化的需要。

       当数组各对象的初值要求为不同的值时,需要定义带参数(无默认值)的构造函数。

       当数组各对象的初始值为相同的值时,可以在类中定义不带参数的构造函数或带有默认参数值的构造函数。

      对象指针,是指向对象的指针,使用的一般指针是一样的,只要明白指向的是一个对象就可以灵活使用指针了。

#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.试在程序基础上再定义一个数组(元素个数自己确定,数组名自己确定),初始化时要求使用不带能构造函数。然后再输出各个对象相关信息。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: