关闭

第六周实验报告2

265人阅读 评论(0) 收藏 举报
* 程序头部注释开始
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生 
* Copyright (c) 2011, 烟台大学计算机学院学生 
* All rights reserved.
* 文件名称:     程序填空                      
* 作    者:                           
* 完成日期:  2012 年3  月  26日
* 版 本 号:        v1.0 

* 对任务及求解方法的描述部分
* 输入描述:…… 
* 问题描述:…… 
* 程序输出:……
* 程序头部的注释结束


 

 
1.//a.用指针访问对象  
2.  
3.#include<iostream> 
4.using namespace std; 
5.class A  
6.{  
7.private:  
8.    int a;  
9.public:  
10.    A(){a = 0;}           
11.    A(int aa):a(aa){}    //定义构造函数,用参数aa初始化数据成员a  
12.};  
13.  
14.void main()  
15.{  
16.    A *p;                 //定义类A的指针对象p   
17.    p = new A(100);      //用p指向动态对象并初始化为整数   
18.    system("pause");  
19.}  
1.//b.用指针类型作为成员函数的参数  
2.  
3.#include<iostream>  
4.using namespace std;  
5.class A  
6.{  
7.private:  
8.    int *a;  
9.    int n;  
10.    int Maxlen;  
11.      
12.public:  
13.    A(): a(0), n(0), Maxlen(0){}  
14.    A(int *aa, int nn, int MM);  
15.    ~A();  
16.    int GetValue(int i){return a[i];}  
17.};  
18.  
19.A::A(int *aa, int nn, int MM)  
20.{  
21.    n = nn;  
22.    Maxlen = MM;  
23.      
24.    if(n > Maxlen)  
25.    {  
26.        exit(1);  
27.    }  
28.      
29.    a = new int[Maxlen];  
30.      
31.    for(int i = 0; i < n; i++)    //以i为循环变量把aa数组中每个元素值传送给a数组的对应元素中  
32.    {  
33.        a[i] = aa[i];  
34.    }  
35.}  
36.  
37.A::~A()                          //析构函数的类外定义,释放指针型数据a所指向的空间  
38.{  
39.    delete []a;  
40.}  
41.  
42.void main()  
43.{  
44.    int b[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};      
45.    A r(b, 10, 10);   
46.    int i, s = 0;     
47.    for(i = 0; i < 10; i++)     //以i为循环变量,把r对象的a数据成员中的每个元素值依次累加到s中  
48.    {  
49.        s += r.GetValue(i);  
50.    }     
51.    cout << "s = " << s << endl;  
52.}  

感悟:重新复习了一下动态分配和撤销内存的运算符new和delete,觉得收获不小!


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:40048次
    • 积分:976
    • 等级:
    • 排名:千里之外
    • 原创:62篇
    • 转载:0篇
    • 译文:2篇
    • 评论:13条
    最新评论