6-2 程序填空(指针类型作为成员函数的参数)
2012-03-28 17:01
295 查看
/*
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 张传新
* 完成日期: 2012 年 3 月 28 日
* 版 本 号: 1
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 问题分析:……
* 算法设计:……
*/
彩色部分为填空部分
运行结果:
经验积累:
执行析构函数的情况:1.如果在一个函数中定义了一个对象(它是自动局部对象)
,当这个函数被调用结束时,对象应该释放,在对象释放前自动执行析构函数;
2.static局部对象在函数调用结束时对象并不释放,因此也不调用析构函数,只在
main函数结束或调用exit函数结束时,才调用static局部对象的析构函数;3.如果
定义了一个全局对象,则在程序的流程离开其作用域时(如main函数结束或调用exit
函数),调用该全局对象的析构函数;4.如果用new运算符动态的建立了一个对象,
,当用delete运算符释放该对象时,先调用该对象的析构函数。
上机感言:
我决定每天在做完C++作业的同时,额外的抽出至少半小时的时间编写C++程序,以
弥补自己在上个学期漏下的知识点,希望自己能坚守住自己的诺言。
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称:
* 作 者: 张传新
* 完成日期: 2012 年 3 月 28 日
* 版 本 号: 1
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 问题分析:……
* 算法设计:……
*/
#include<iostream> using namespace std; class A { private: int *a; int n; int MaxLen; public: A(): a(0), n(0), MaxLen(0) {} //定义构造函数 ~A(); //定义析构函数 A(int *aa, int nn, int MM); 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]; for(int i=0;i<MaxLen;++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,9,10); int i,s=0; for(i=0;i<10;++i) //以i为循环变量,把r对象的a数据成员中的每个元素值依次累加到s中 { s=s+r.GetValue(i); } ; cout<<"s="<<s<<endl; system("pause"); }
彩色部分为填空部分
运行结果:
经验积累:
执行析构函数的情况:1.如果在一个函数中定义了一个对象(它是自动局部对象)
,当这个函数被调用结束时,对象应该释放,在对象释放前自动执行析构函数;
2.static局部对象在函数调用结束时对象并不释放,因此也不调用析构函数,只在
main函数结束或调用exit函数结束时,才调用static局部对象的析构函数;3.如果
定义了一个全局对象,则在程序的流程离开其作用域时(如main函数结束或调用exit
函数),调用该全局对象的析构函数;4.如果用new运算符动态的建立了一个对象,
,当用delete运算符释放该对象时,先调用该对象的析构函数。
上机感言:
我决定每天在做完C++作业的同时,额外的抽出至少半小时的时间编写C++程序,以
弥补自己在上个学期漏下的知识点,希望自己能坚守住自己的诺言。
相关文章推荐
- 用指针类型作为成员函数的参数
- 指针类型作为成员函数的参数
- 6-2-b 指针类型作为成员函数的参数
- 指针类型作为成员函数的参数
- 项目二.2(指针类型作为成员函数的参数)
- 指针类型作为成员函数的参数
- 指针类型作为成员函数的参数
- 线程的封装技巧:把任意类的成员函数指针作为参数
- 类作为其自身成员函数参数时的类型
- 成员函数指针作为参数传递给其他函数和普通函数指针的传递
- 类的成员函数指针作为参数传递给其他函数和普通函数指针的传递是不同的
- 线程的封装技巧:把任意类的成员函数指针作为参数
- c++ 成员函数作为函数指针参数传入
- c++ 成员函数作为函数指针参数传入
- 指针作为函数的参数,则不能用此申请内存
- C/C++—— 写一个函数,它的参数为指向函数的指针,返回类型也为指向函数的指针
- 成员函数指针和其他类型的强制转换,使用一般指针调用成员函数
- 正确使用指针(指针作为输出型参数)与结构体指针作为函数参数
- “error C3867: “XXX”: 函数调用缺少参数列表;请使用“&XXX”创建指向成员的指针”的错误
- Qt使用回调函数报错“函数调用缺少参数列表,请使用&xxx创建指向成员的指针”解决办法