什么是面向对象技术_第1页
什么是面向对象技术_第2页
什么是面向对象技术_第3页
什么是面向对象技术_第4页
什么是面向对象技术_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第 1 章 习 题 1. 什么是面向对象技术? 2. 面向对象与面向过程程序设计有什么不同? 3. 面向对象技术有哪些优点? 4. 面向对象技术中的封装性有何优缺点?如何克服这些缺点? 5. 为什么要应用继承机制? 6. C+对多态性的支持体现在哪些方面? 7. 目前常用的面向对象程序设计语言有何异同? 8. 什么是.NET? 第 2 章 习 题 1. 写出下面程序的运行结果。 #include void main() int* a; int* int b=10; p= cout void main() int iarray10=0,2,4,6,8,10,12,14,16,18; int sum=0; int* iptr=iarray; for(int i=0;i int m=8; 2 int add3(int x,int y=7,int z=m) return x+y+z; void main() int a=1,b=2,c=3; cout; class Student 3 public void Student() void display() cin; class example() private: int date; static int count public; void example(int y=10)(date=y;) ( cout class Ex public: Ex(int x,char c=c); Ex() cout #include #include class Ex public: Ex(const char* s) len=strlen(s); p=new charlen+1; strcpy(p,s); Ex() p=new char8; cout class MyClass public: MyClass(); MyClass(int); void Display(); MyClass(); protected: int number; ; MyClass:MyClass() cout class Animal; void SetValue(Animal void SetValue(Animal class Animal public: friend void setValue(Animal protected: int itsWeight; int itsAge; ; void SetValue(Animal void SetValue(Animal ta.itsAge=tn; void main() Animal peppy; SetValue(peppy,5); SetValue(peppy,7,9); 将第 14 题程序中的友元改成普通函数,为此增加访问类中保护数据的成员函数。 第 4 章 习 题 1. 什么是继承?它在软件设计中有什么作用? 2. 比较类的三种继承方式之间的差别。 3. 如果派生类 B 已经重新定义了基类 A 的一个成员函数 fn1(),没有定义重载成员函 数 fn2(),怎样调用基类的成员函数 fn1()、fn2()? 4. 写出运行结果,分析程序中的访问权限,并回答所列问题。 #include class A public: void f1(); A() cout class A public: A(int i,int j)a=i;b=j; void move(int x,int y)a+=x;b+=y; void show() cout class Base public: void who()coutwho(); p= p-who(); p= p-who(); obj2.who(); obj3.who(); 9. 在多继承方式下,派生类的构造函数和析构函数调用顺序是怎样的? 10. 什么是虚基类?有何作用? 11 第 5 章 习 题 1. 什么是多态性?在 C+中是如何实现多态的? 2. 虚函数与重载在设计方法上有何异同? 3. 编写一个时间类,实现时间的加、减、读和输出。 4. 定义一个哺乳动物 Mammal 类,再由此派生出狗 Dog 类,两者都定义 Speak 成员函 数,基类中定义为虚函数,定义一个 Dog 类的对象,调用 Speak 函数,观察运行结果。 5. 写出下面程序的运行结果,并回答问题。 #include class Point public: Point(int x1,int y1)x=x1;y=y1; int area() const return 0; private: int x,y; ; class Rect:public Point public: Rect(int x1,int y1,int u1,int w1): Point(x1,y1) u=u1;w=w1; int area() const return u*w; private: int u,w; ; void fun(Point cout #include 15 void main() int a=5,b=7,c=-1; float x=67.8564,y=-789.124; char ch=A; long n=1234567; unsigned u=65535; cout void main() int wait_time=46; try cout30) throw wait_time; cout“Leaving try block.“endl; catch(int thrown_value) cout“exception thrown with“endl “wait_time equal to“thrown_valueendl; cout“After catch block.“endl; 如果将“int wait_time=46;”替换成“int wait_time=12;” ,其结果如何? 3. 创建一个含有可抛出异常的成员函数的类,在该类中,创建一个被嵌套的类用作一个异 常对象,它带有一个 char*参数,该参数是一个有意义的字符串。创建一个可抛出该异常 的成员函数。编写一个 try 块使它能调用该函数并且捕获异常,以打印该字符串的方式处 理该异常。 第 9 章 习 题 1. 在应用程序向导 AppWizard 中能够创建哪些类型的文件? 2. MFC 类库的层次结构怎样?将 9.2 节中表 9-5 至 9-10 的内容用层次结构表达出来。 第 10 章 习 题 1. MFC 应用程序是如何实现 Windows 消息机制的,请详细解释。 2. 什么是文档模板? 3. 当应用程序向导生成 MFC 应用程序时,在源代码中找不到 WinMain()函数,这是为 什么? 4. 文档类、文档模板类和视图类的结构是如何定义的? 17 5. 修改 DlgDemo 程序,使用如图 10-27 所示的对话框实现作图图形的选择。 图 10-27 用于选择作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论