1、iostream.hclass Sample int x,y;public:Sample() x=y=0; Sample(int a,int b) x=a;y=b;Sample() if(x=y) cout“x=y”endl;else “x!=y”void disp() “x=”x“,y”=y;void main() Sample s1,s2(2,3);s1.disp();s2.disp();解:x=0,y=0 x=2,y=3 x!=y x=y2.分析以下程序的执行结果 int add(int x,int y) return x+y;int add(int x,int y,int z) ret
2、urn x+y+z;int a=4,b=6,c=10;add(a,b),add(a,b,c)10,20 3.分析以下程序执行结果 double add(double x,double y) int a=4,b=6;double c=2.6,d=7.4;,add(c,d)10,10 4.分析以下程序执行的结果 Sample()x=y=0;Sample(int a,int b)x=a;x=,y=Sample s1,s2(1,2),s3(10,20);Sample *pa3=&s1,&s2,&s3;for(int i=0;idisp();x=1,y=2 x=10,y=20 5. 分析以下程序的执行结
3、果:class base int n;base();base (int a) cout constructing base class endl;n=a;cout n= n base() cout destructing base class class subs : public base int m;subs(int a, int b) : base(a) constructing sub class m=b;m= m subs() cout destructing sub class void main () subs s(1,2);constructing base classn= 1
4、constructing sub classm= 2destructing sub classdestructing base class 6.分析以下程序的执行结果:#include protected:int x;Sample() x=0;Sample(int val) x=val;void operator+() x+;class Derived:public Sample int y;Derived():Sample() y=0;Derived(int val1,int val2):Sample(val1) y=val2;void operator-() x-;y-; cout x y
5、 Derived d(3,5);d.disp();d+;d.disp ();d-;x=3,y=5x=4,y=57 分析以下程序执行结果:class A A(char *s) cout s A() class B:public A B(char *sl,char *s2) :A(sl) s2 class C:C(char *sl,char *s2) :class D:public B,public C D(char *sl,char *s2,char *s3,char *s4) :B(sl,s2),C(sl,s3) s4 D d(class Aclass Bclass Cclass D);cla
6、ss B class C class D 补充例题1.分析以下程序的执行结果 template T max(T x,T y) return (xy?x:y); coutmax(2,5)“,”max(3.5,2.8)解答:5,3.5 2分析以下程序的执行结果 int a=10,20,30,40,*pa=a;int *&pb=pa;pb+;*pa输出为:20 3.分析以下程序的执行结果 T abs(T x) 0?-x);abs(-3)abs(-2.6)输出为:3,2.6 4.分析以下程序的执行结果 char c1,c2;Sample(char a)c2=(c1=a)-32;c1“转换为”c2Sam
7、ple a(a),b(ba.disp();b.disp();a转换为A b转换为B 5.分析以下程序的执行结果 int a;int &b=a; / 变量引用 b=10;“a=”aa=10 6.分析以下程序的执行结果 Sample();Sample(int a)x=a;Sample(Sample &a)x=a.x+ +10;void disp()coutclass circle double radius;circle(double r) radius=r;double getarea() return radius*radius*3.14;class table double height;t
8、able(double h) height=h;double getheight() return height;class roundtable : public table,public circle char *color;roundtable(double h, double r, char c) : circle (r) , table (h) color=new charstrlen(c)+1;strcpy (color, c);char *getcolor() return color;roundtable rt(0.8,1.2,黑色); 圆桌属性数据: 高度:rt.gethei
9、ght() 米 面积:rt.getarea() 平方米 颜色:rt.getcolor() #define N 3 class Stud int no;char name10;int deg;static int num;static int sum;void setdata(int n,char na,int d) no=n; deg=d;strcpy(name,na);sum+=d;num+;static double avg() return sum/num;printf( %-5d%-8s%3dn,no,name,deg);int Stud:sum=0;num=0;Stud stN;in
10、t i,n,d;char na10;for(i=0;N;printf(输入学号 姓名 成绩:scanf(%d%s%d,&n,na,&d);sti.setdata(n,na,d);printf(输出数据n);printf( 学号 姓名 成绩n);sti.disp();printf( 平均分=%gnn,Stud:avg();本程序的执行结果如下:输入学号 姓名 成绩: 1 stud1 89 2 stud2 78 3 stud 84 输出数据 学号 姓名 成绩 1 stud1 89 2 stud2 78 3 stud3 84 平均分=83 6请编写一个程序,以实现在屏幕上显示如下的乘法表。1) 1
11、2) 2 4 3) 3 6 9 4)4 8 12 16 5)5 10 15 20 25 6)6 12 18 24 30 36 7) 7 14 21 28 35 42 49 8)8 16 24 32 40 48 56 64 9) 9 18 27 36 45 54 63 72 81 7. P463-P464 函数模板 需要掌握的内容面向对象程序设计的三大特征类和对象类: C+的一种数据类型,使用类的变量则称为对象。C+的类是对象的抽象,是进行封装和数据隐藏的工具,包括:数据成员和成员函数。一个类可以声明多个对象,对象之间代码共享,数据独立。C+类的说明public :可被本类以外的函数访问,是类与
12、外部的接口;private :只能被该类成员函数和友元函数存取和调用;protected:可被本类和本类的派生类的成员函数访问,用于类的继承。成员函数默认时在类中定义的项都是私有的,类成员函数的外部实现:使用对象名引用对象的公有成员函数。方法如下:对象名.成员函数名(参数列表)内联函数的概念;定义内联函数的两种格式1)函数体放在类体内2)函数体放在类体外,使用inline关键字构造函数构造函数的作用是在对象被创建时为对象分配内存空间,对类的数据成员初始化并执行对象的其他内部管理操作。构造函数与类同名构造函数可接收参数但不能有返回值,允许重载。当创建一个类的对象时,系统会自动调用类的构造函数。若
13、未给类定义构造函数,则编译系统将为该类生成一个默认的构造函数,它没有参数,只简单地把对象中的每个实例变量初始化为0。析构函数 一、 C+语言概述1. 了解C+语言的基本符号。2. 了解C+语言的词汇(保留字、标识符、常量、运算符、标点符号等)。3. 掌握C+程序的基本框架(结构程序设计框架、面向对象程序设计框架等)。4. 能够使用Visual C+ 6.0集成开发环境编辑、编译、运行与调度程序。二、 数据类型、表达式和基本运算1. 掌握C+数据类型(基本类型,指针类型)及其定义方法。2. 了解C+的常量定义(整型常量,字符常量,逻辑常量,实型常量,地址常量,符号常量)。3. 掌握变量的定义与使
14、用方法(变量的定义及初始化,全局变量,局部变量)。4. 掌握C+运算符的种类、运算优先级和结合性。5. 熟练掌握C+表达式类型及求值规则(赋值运算,算术运算符和算术表达式,关系运算符和关系表达式,逻辑运算符和逻辑表达式,条件运算,指针运算,逗号表达式)。三、 C+的基本语句1. 掌握C+的基本语句,例如赋值语句、表达式语句、复合语句、输入、输出语句和空格语句等。2. 用if语句实现分支结构。3. 用switch语句实现多分支选择结构。4. 用for语句实现循环结构。5. 用while语句实现循环结构。6. 用dowhile语句实现循环结构。7. 转向语句(goto,continue,break
15、和return)。8. 掌握分支语句和循环语句的各种嵌套使用。四、 数组、指针与引用1. 掌握一维数组的定义、初始化和访问,了解多维数组的定义、初始化和访问。2. 了解字符串与字符数组。3. 熟练掌握常用字符串函数(strlen,strcpy,streat,strcmp,strstr等)。4. 指针与指针变量的概念,指针与地址运算符,指针与数组。5. 引用的基本概念,引用的定义与使用。注意事项: 搞清楚指针与地址运算符的区别,指针与引用的区别。五、 掌握函数的有关使用1. 函数的定义方法和调用方法。2. 函数的类型和返回值。3. 形式参数与实在参数,参数值的传递。4. 变量的作用域、生存周期和存储类别(自动、静态、寄存器,外部)。5. 递归函数。6. 内联函数。7. 带有缺省参数值的函数。C+中,函数之间传递参数有传值和传地址两种传递方式。六、 熟练掌握类与对象的相关知识1. 类的定义方式、数据成员、成员函数及访问权限(public,private,protected)。2. 对象和对象指针的定义与使用。3. 构造函数与析构函数。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1