第6周课后实践·阅读程序
2015-04-10 21:08
337 查看
/* * Copyright (c) 2015, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:刘畅 * 完成日期:2015年 4 月 10 日 * 版 本 号:v1.0 * * 问题描述: 阅读程序写出程序的运行结果并理解。 * 输入描述:NULL; * 程序输出:按要求输出。
(1)代码与运行结果如下:
#include <iostream> using namespace std; class A { public: A() { cout<<"A"; } ~A() { cout<<"~A"; } }; class B { A *p; public: B() { cout<<"B"; p=new A(); } ~B() { cout<<"~B"; delete p; } }; int main() { B obj; return 0; }
(2)代码与运行结果如下:
#include <iostream> using namespace std; class MyClass { public: MyClass(int x=0):i(x){cout<<"C"<<i;} ~MyClass(){cout<<"D"<<i;} void SetValue(int val){i=val;} int GetVal(){return i;} private: int i; }; int main() { MyClass *p[3]; int i; for (i=0;i<3;i++) { p[i]=new MyClass(i); p[i]->SetValue(p[i]->GetVal()*2); } for (i=0;i<3;i++) delete p[i]; cout<<endl; return 0; }
(3)代码及运行结果如下:
#include <iostream> using namespace std; class B { public: B() { cout<<"default constructor"<<endl; } ~B() { cout<<"destructed"<<endl; } B(int i):data(i) { cout<<"contructed"<<data<<endl; } private: int data; }; B Play(B b) { return b; } int main() { B temp=Play(5); return 0; }
(4)代码及运行结果如下:
#include <iostream> using namespace std; class example { public: example(){cout<<"Default Constructing! "<<endl;} example(int n) { i=n; cout<<"Constructing: "<<i<<endl; } ~example( ){cout<<"Destructing: "<<i<<endl;} int get_i(){return i;} private: int i; }; int sqr_it(example o) { return o.get_i()*o.get_i(); } int main() { example x(10); cout<<x.get_i()<<endl; cout<<sqr_it(x)<<endl; return 0; }
(5)代码及运行结果如下:
#include <iostream> using namespace std; class AA { public: AA(int i,int j) { A=i; B=j; cout<<"Constructor\n"; } AA(AA &obj) { A=obj.A+1; B=obj.B+2; cout<<"Copy_Constructor\n"; } ~AA() { cout<<"Destructor\n"; } void print() { cout<<"A="<<A<<",B="<<B<<endl; } private: int A,B; }; int main() { AA a1(2,3); AA a2(a1); a2.print(); AA *pa=new AA(5,6); pa->print(); delete pa; return 0; }
知识点总结:
这五个程序主要还是在讲述构造函数和析构函数,再有就是指向对象的指针这些方面了。
相关文章推荐
- 第14周-输入输出流,文本文件-项目0-课后实践·程序阅读2
- 第4周课后实践·阅读程序-构造函数和析构函数(3)
- 第15周-二进制文件与字符串流-项目0-课后实践·阅读程序(2)
- 第3周课后实践·程序阅读(4)-利用引用訪问私有数据成员
- 第4周课后实践·阅读程序-构造函数与析构函数(1)
- 第3周课后实践·阅读程序(3)-利用函数访问私有数据成员
- 第12周-多继承、虚基类,继承和组合-课后实践·阅读程序
- 第14周-输入输出流,文本文件-项目0-课后实践·程序阅读1
- 第4周课后实践·阅读程序-构造函数和析构函数(4)
- 第14周-输入输出流,文本文件-项目0-课后实践·程序阅读4
- 第3周课后实践·阅读程序(1)-通过公共函数为私有成员赋值
- 第14周-输入输出流,文本文件-项目0-课后实践·程序阅读5
- 第2周项目-课后实践·阅读程序(2)
- 第八周-运算符重载-课后实践·阅读程序
- 第2周项目-课后实践·阅读程序(1)
- 第15周-二进制文件与字符串流-项目0-课后实践·阅读程序(3)
- 第13周-多态性-项目0-课后实践·阅读程序1.
- 第3周课后实践·阅读程序(2)-利用指针访问私有数据成员
- 第16周-异常处理和命名空间-课后实践·阅读程序
- 第15周-二进制文件与字符串流-项目0-课后实践·阅读程序(1)