2016高级c语言复习题.doc_第1页
2016高级c语言复习题.doc_第2页
2016高级c语言复习题.doc_第3页
2016高级c语言复习题.doc_第4页
2016高级c语言复习题.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

一基本知识点1. 后置自增运算符+重载为类的成员函数(假如类名为timer)的函数头应该表示为timer operator+(int);。【前置自增函数头为timer operator+()】2. 若想把函数 void fun()申明为一个类的友元函数,则应在类的申明中加入语句friend void fun();。3. c+程序设计语言既是面向过程又是面向对象的程序设计语言。4. c+中定义的标准输出和输入流对象分别为cout和cin。他们是使用面象对象方式定义的对象。5. 类和对象的关系可以描述为:类是对象的抽象,对象是类的实例。6. c+中结构体如果没有定义访问属性,则默认的访问属性是public的。7. 变量引用定义的方式为int &a = b;8. 基类中申明了虚函数(标志virtual)后,派生类中与其对应的函数可以不申明为虚函数9. c+中函数可以带有默认参数,带有默让参数的函数调用时实参个数可以少于形参个数,具体传递形参的个数由被调函数和主调函数共同决定10. c+中两种代码复用的方式有组合和继承。11. 类的定义中,通常将对数据成员的初始化放置在构造函数中。12. 类的静态成员函数中没有this指针,由此决定了静态成员函数不能访问本类中的非静态成员。13. 关键字const说明对象或变量初始化后不会被修改14. c+中通过虚函数来实现多态性。15. 抽象类只能作为基类使用,不能定义它的对象。16. 在类中必须声明成员函数的原型,成员函数的实现部分可以写在类外。17. c+中允许使用同一名称定义若干个不同参数类型和个数的函数称之为函数重载。18. 枚举类形的定义举例:enum colorred=1,yellow,white,black;其中red,yellow,white,black的值依次为1,2,3,4。19. 类定义中如果不指定成员的访问属性,则使用默认的private访问属性。20. 面向对象程序设计的特点有:抽象、封装、继承和多态。21. 如果需要在被调函数运行期间,改变主调函数中实参变量的值,则函数的形参应该是引用类型或指针类型。22. public继承方式下,基类中的public,protected访问属性成员不变,而基类的private访问属性的成员无论在什么继承方式下到派生类中都是不可访问的。23. 内联函数编译时被展开到主调函数中,可以加快函数执行速度24. 通过一个常对象只能调用它的常成员函数,不能调用其他成员函数。25. 函数的递归调用是指函数直接或间接地调用自身。26. 两个模板参数模板函数的申明形式如下:template,typename关键字也可用class表示。27. c+提供的new运算符能够在内存堆区分配内存空间,new 一个对象时会自动调用构造函数,new 分配的内存空间必须手动使用delete释放,否则会造成内存泄露。28. 拷贝构造函数的形参必须是本类对象的引用29. 类的构造函数一般负责对数据进行初始化,可以被重载为若干个不同参数形式,析构函数一般用来负责数据清理,具有固定形式,不能被重载。二程序设计题1. 设计一个point类,要求正确表示二维平面上的点坐标#include using namespace std;class pointpublic:int x;int y;public:point();point:point() cout“构造函数被调用endl;x=25; y=25;void main()point p1;coutp1.x p1.yendl;2. 设计一个类表示秒表,要求表示分和秒关系,要求使用重载前置和后置+表示秒表的计时,/time.h#include using namespace std;class timepublic:time( )minute=0;sec=0; time(int m,int s):minute(m),sec(s) time operator+( ); void display( )coutminute:sec=60)sec-=60; +minute;return *this; /后置time time:operator+(int) time temp(*this);sec+;if(sec=60)sec-=60;+minute;return temp; 3定义类complex封装数学上的复数类型,必须使用运算符重载表示复始的加减乘除#include using namespace std;class complex public:complex( )real=0;imag=0; complex(double r,double i)real=r;imag=i; complex operator +(complex &c2); void display( ); private:double real; double imag; complex complex: operator + (complex &c2)complex c;c.real=real+c2.real;c.imag=imag+c2.imag;return c; void complex:display( ) cout(real,imagi)endl;int main( )complex c1(3,4),c2(5,-10),c3; c3=c1+c2; coutc1=; c1.display( ); coutc2=; c2.display( ); coutc1+c2=; c3.display( ); return 0;4. 定义类vector来表示空间中的向量(x,y,z)实现向量的常见计算,(点乘,叉乘,模,方向角)5. 定义从point类派生出circle类,再出circle类派生出column类。#ifndef circle_h#define circle_h#include #include point.husing namespace std;class circle:public pointprotected:float r;public:circle(float x,float y,float r);void show();float getarea();float getlength();circle:circle(float x,float y,float r):point(x,y)this-r=r;void circle:show()cout圆心为:;point(x,y).show();cout半径为:rh=h;void show();float getarea();float getvolume();void colum

温馨提示

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

评论

0/150

提交评论