您的位置:首页 > 编程语言 > C语言/C++

C++第六周任务二程序填空按要求将缺少的代码填进去

2012-03-27 23:14 387 查看
/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:程序填空
* 作    者:李洪悬
* 完成日期:   2012      年 3      月  28      日
* 版 本 号:

* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/
【任务2】程序填空:按要求将缺少的代码填进去
a. 用指针访问对象
class A
{
private:
int a;
public:
A() {a=0;}
___(1)___{}  //定义构造函数,用参数aa初始化数据成员a
};
main() {
___(2)___;  //定义类A的指针对象p
___(3)__;   //用p指向动态对象并初始化为整数
}
b. 指针类型作为成员函数的参数
class A
{
private:
int *a;
int n;
int MaxLen;
public:
A(): a(0), n(0), MaxLen(0) {}
~A();
int GetValue(int i) {return a[i];}
};
A::A(int *aa, int nn, int MM)
{
n=nn;
MaxLen=MM;
if(n>MaxLen) exit(1);
a=new int[MaxLen];
___(1)___;  //以i为循环变量把aa数组中每个元素值传送给a数组的对应元素中
}
___(2)___   //析构函数的类外定义,释放指针型数据a所指向的空间

void main()
{
int b[10]={1,2,3,4,5,6,7,8,9,10};
A r(b,10,10);
int i,s=0;
___(3)___ ; //以i为循环变量,把r对象的a数据成员中的每个元素值依次累加到s中
cout<<"s="<<s<<endl;
}



#include <iostream>

using namespace std;

class A {

private:

int a;

public:

A()
{
a=0;
}

A(int aa)
{
a = aa;
}   //定义构造函数,用参数aa初始化数据成员a
};
void main()
{
A *p;  ;  //定义类A的指针对象p

p = new A(10);   //用p指向动态对象并初始化为整数

system ("pause");
}

#include<iostream>

#include<stdlib.h>

using namespace std;

class A {

private:

int *a;

int n;

int MaxLen;

public:
A(int *, int , int) ;

A(): a(0), n(0), MaxLen(0) {}

~A();

int GetValue(int i)
{
return a[i];
}//函数体返回a[i]的值
};

A::A(int*aa, int nn, int MM)
{

n=nn;

MaxLen=MM;

if(n>MaxLen) exit(1);

a=new int[MaxLen];

for(int i=0; i<n; i++)//以i为循环变量把aa数组中每个元素值传送给a数组的对应元素中
{
a[i]=aa[i];
}

}
A::~A()//析构函数的类外定义,释放指针型数据a所指向的空间

{
delete []a;
}

void main()

{
int b[10]={1,2,3,4,5,6,7,8,9,10};

A r(b,10,10);

int i,s=0;

for(i=0;i<10; i++) //以i为循环变量,把r对象的a数据成员中的每个元素值依次累加到s中
{
s+=r.GetValue(i);
}

cout << "s=" << s << endl;

system ("pause");

}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  任务 c++ class delete system c