1、 ; main() toy op32= toy(10,20),toy(30,48),toy(50,68),toy(70,80),toy(90,16),toy(11,120), ; int i;i coutquan() coutprice() coutquan() coutprice() cout5、#include class example public: example(int n) i=n; coutn example() cout int get_i() return i; private:int i; int sqr_it(example o) return _i()* _i();
2、main() example x(10); cout6、#include class Testprivate:int x;public:Test() coutTest() coutvoid main() Test obj1,obj2; (); 7、#include 2 class Apublic: A(int *s) cout; class B:public A public: B(char *s1,char *s2):A(s1) coutclass C:public Apublic: C(char *s1,char *s2):A(s1) cout ; class D:public B,Cpu
3、blic: D(char *s1,char *s2,char *s3,char *s4):B(s1,s2),C(s3,s4) cout ; void main() D d (“class A”,”class B”,”class C”,”class D”); 8、#include class Base public: virtual void disp() coutclass Derivel:public Basepublic: void disp() cout; class Derive2:public Base public: void disp() coutvoid main() Base
4、 *p;Base b; Derive1 d1; Derive2 d2; p=&b; p-disp(); 3 p=&d1;p-p=&d2; 9、#include class Sampleprivate:static int y; Sample(int a);void print(); ; Sample: Sample(int a) x=a; y +; void Sample:print() coutint Sample:y=25; void main() Sample s1(5); Sample s2(10); ();(); 10、#include class Sampleprivate: Sa
5、mple () Sample(int a) x=a; void disp() coutSample operator+( Sample &s1, Sample &s2) return Sample(+); void main() Sample obj1(10); Sample obj2(20); Sample obj3; obj3=obj1+obj2; 11、#include class Test private: 4 int x;Test() coutvoid print() coutvoid main() Test obj1,obj2; 12、#include class A protec
6、ted:A(int x) A:x=x; cout;class Bprivate:A a1; B(int x):a1(x) coutclass C:public Bprivate:A a2; C(int x):B(x),a2(x) coutclass D:public Cpublic: D(int x):C(x) coutvoid main() 5 a * = 2;b / = 2;c % = 2; cout28、#include void main() char flag=c ;switch(flag) case a :cout 29、#include void main() static in
7、t b3 = 1,2,3,4,5,6 ;b02=12,b12=18; cout void main() int x( 10 ), y( 7 ); coutcoutvoid Swap(int & a, int & b) int temp; temp = a ; a=b ; b=temp ; 31、#include class A public:A(); A(int i,int j); A()cout a=b=10;cout a=i,b=j;cout coutvoid main() 30、#include void Swap( int &a, int & b); A m,n(15,18); 11
8、(); 32、/ program 1_ #include void main() int a,b,sum; a=43; / b=37; sum=a+b; cout33、#include class Sample int n; static int sum; public: Sample(int x)n=x; void add()sum+=n; void disp() coutint Sample:sum=0; void main() Sample a(2),b(3),c(5); 34、#include class Sample int x; Sample(); Sample(int a)x=a
9、; Sample(Sample &a)x=+ +10; void disp()coutvoid main() Sample s1(2),s2(s1); 35、 #include class A public: A(char *s) cout class B:public A public: B(char *sl,char *s2) :A(sl) cout class C: C(char *sl,char *s2) :A(sl) cout class D:public B,public C public: D(char *sl,char *s2,char *s3,char *s4) :B(sl,
10、s2),C(sl,s3) cout void main () D d( 36、/ program 1_ #include void main() cout37、#include void main() int i,n; n=0; for(i=1;i cout12 38、#include class Sample int n; Sample(int i)n=i; friend int add(Sample &s1,Sample &s2); int add(Sample &s2) return +; void main() Sample s1(10),s2(20); cout39、#include
11、 class Sample int x,y; Sample()x=y=0; Sample(int a,int b)x=a;y=b; Sample() if(x=y) coutcoutvoid disp() coutvoid main() Sample s1(2,3); 六、分别指出下面的p各是什么。 1、int *p;2、int *p3; 3、int (*p)3;4、int *p( ); 5、int *p; 七、指出下列程序的错误,并说明为什么: 1、#include class Studentint sno;int age;void printStu();void setSno(int d)
12、; void printStu() coutcoutvoid setSno(int s) sno=s; void setAge(int a) age=a; void main() Student lin;(20021);(20); 2、 #include class Point public: 13 int x,y; private: Point()x=1;y=2; ; void main() Point cpoint;=2; 3、#include void main( ) int x=0,y=5,z=3; while(z0 & +xcout 4、#include void main() in
13、t x=10; int &y=x; coutcoutcout5、#include void main( ) int i,n=0; for(i=2;i if(i%3!=0) continue; n+; cout6、#include class A int *a; public: A(int x) a=new int(x); cout ; void main() A x(3),*p; p=new A(5); delete p; 7、# include class base public: virtual int func () return 0; ;class derived: public ba
14、se public:int func() return 100; 14 ; void main() derived d; base& b = d; cout 8、#include #define pi=;二、简答题 1、类的公有成员和私有成员有何区别? 2、引入类的静态成员有何意义? 3、什么是多态性?它能带来什么样的好处? 4、运算符重载能带来什么好处? const float r=; void main() float s1,s2,c1,c2,r1; c1=pi*r*r; s1=2*pi*r; r=; c2=pi*r*r; s2=2*pi*r; cout5、怎样理解类与对象的含义?类与对象
15、的关系是什么? 6、为什么要在基类中定义虚函数? 7、引入友元的目的是什么? 8、什么是运算符重载?是否所有运算符都能进行重载? 9、析构函数有什么作用? 15 c(int px=10)x=px; void setx (int a) x=a; cp(11); c*q;q=&p; int p:c*cptr; int(c:*fptr)(); (8); cptr=&c:x; fptr=c:getx; cout*cptr*fptr)(); 5、下面程序是输出100内能被3整除且个位数是6的所有整数,请将程序补充完整 #include void main() int i,j; _;i+) j=i*10+
16、6;if (_)continue;_; cout6、 程序输出结果为counstructing object:x=1 请将程序补充完整 #include class Sample int x; Sample(int a) 六、填空: _ coutvoid func(int n) _ void main() func(1); func(10); 7、程序输出结果为: A=2,B=7 A=5,B=7 请把程序补充完整 #include class Sample int A; static int B; Sample(int a)A=a,B+=a; static void func(Sample s
17、); void Sample:func(Sample s) _ int Sample:B=0; void main() Sample s1(2),s2(5); _ Sample:func(s2); 1. C+语言的头文件与源程序文件扩展名分别是和。2. 在C+程序中使用基本输入与输出流时需要包含的头文件名是。 21 3. 在C+语言中,惟一的一个三目运算运算符是。4. C+中当一个函数无返回值时,则函数的类型是。 5. 一个类中可以有个构造函数,只能有个析构函数。 6.一般情况下,按照面向对象的要求,把类中的数据成员(属性)定义为权限, 而把成员函数(方法)定义为权限. 7.在定义类的对象时,
18、C+程序将自动调用该对象的函数初始化对象自身.在撤销类的对象时,C+程序将自动调用该对象的函数. 8.类继承中,缺省的继承方式是. 9在C+语言中,用转义字符序列或操纵符表示输出一个换行符。 10表达式a=al表示成增量表达式为。 11当不需要函数返回任何值时,则应把该函数类型定义为。 12用于输出表达式值的标准输出流对象是。,用于从键盘上为变量输人值的标准输人流对象是。 13、变量分为全局和局部两种,。变量没有赋初值时,其值是不确定的。 14、假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为。 15、类的成员分为和。 16、一个和的关系,正如基本数据类型
19、与该类型的变量一样,如int x;。 17、对一个类中的数据成员的初始化可以通过构造函数中的实现,也可以通过构造函数中的实现。 18、类有两种用法:一种是,即生成类的对象;另一种是通过,派生出新的类。 19、C+语言提供的机制允许一个派生类继承多个基类,即使这些基类是相互无关的。 20、声明虚函数的方法是在基类中的成员函数原型前加上关键字。 21、如果一个类中有一个或多个纯虚函数,则这个类称为。 22、静态数据成员在定义或说明时,前面要加上关键字。 23、如果成员函数不需要访问类的成员,则可以把它声明为静态成员函数。 24、友元可以是,也可以是。 25、若需要把一个函数“void fun();
20、”定义为一个类A的友元函数,则应在类A的定义中加入一条语句:。 26、运算符函数中的关键字是,它和一起组成该运算符函数的函数名。 27、类中运算符重载一般采用两种形式:和。 28、面向对象程序设计的3大机制为:、和。2、类的访问权限有、和三种。 22 29、构造函数是被创建时自动执行,对象消失时自动执行的成员函数称为。 30、如果类A继承了类B,则类A称为,类B称为。 31、如果一个特定的类型S当且仅当它提供了类型T的行为时,则称类型S是类型T的。 32、在类定义中,将置于虚函数的函数原型的末尾可以声明该函数为纯虚函数。 33、类的静态成员分为和。 34、友元函数的声明可以放在类的部分,也可以
21、放在类的部分,它们是没有区别的。 35、如果说类B是类A的友元类,则类B的所有成员函数都是类A的。 36、设a和b是两个整型变量,我们用a+b的形式求这两个变量的和;设c和d为浮点型变量,我们用c+d的形式求这两个变量的和。显然运算符“+”具有不同的用途,这是的例子。 37、对于双目运算符,若重载为类的成员函数,有个参数;若重载为友元函数,则有个参数。 38、 当建立_,程序自动调用该类的构造函数。 39、 在C+中有二种参数传递方式:_ 和_ 。 40、 模板对处理数据的类型的要求不同可以分为两种类型:_ 和 _。 41、 异常是通过_ 、_和_ 来实现的。 42、 虚函数实现了C+的_ 机
22、制,类实现了C+的_ 机制。 43、 面向对象程序设计的_机制提供了重复利用程序资源的一种途径。 44、C+语言程序设计的三种基本结构是:_ 、 _ 、 _ 。 45、为了避免嵌套的条件语句if-else的二义性,C+语言规定else与_配对使用。 46、定义函数时,在函数的类型前加上修饰词 _,指明将该函数定义为内联函数。 47、有说明语句:*p;则*p+运算首先访问 _,然后使_ 的值加1。 48、执行int *p=new int 操作,可以得到一个动态分配整型对象的_。 49、有说明语句:int *p;则(*p)+运算首先访问 _,然后使 _的值加1。 50 C+目标程序经_后生成扩展名
23、为exe的可执行程序文件。 51 16位计算机中整型占_个字节存储空间。 52 要在屏幕上显示,world!应执行语句cout54 作为语句的函数调用是通过_来体现的。 55 执行if (x=0|x57 若一全局变量只允许本程序文件中的函数使用,则定义它时应加上修饰符_。 23 58 设有int w34;,pw是与数组名w等价的数组指针,则pw应初始化为_。 59.要使引用pr代表变量char * p;,则pr应初始化为_。 60在C+中封装性、继承性和_ 是面向对象思想的主要特征。 61假设int a=1,b2;则表达式a+-b的值为 _。 62下面的程序实现输出x,y,z三个数中的最大值,请填入正确的内容。 #include void main int x=5,y=8,z=9, u, v; if_ u=x; else u=y; if_ v=u; else v=z; c