3、#include<iostream.h>
class b1{
public:
b1(int x)
{cout<<x<<"->A\n";}
~b1()
{cout<<"B\n";}
};
class b2{
public:
b2(int x)
{cout<<x<<"->C\n";}
~b2()
{cout<<"D\n";}
}
class derived:public b2,public b1{
public:
derived(int x,int y):b1(y),b2(x)
{cout<<"E\n";}
~derived(){cout<<"F\n";}
main(){
derived obj(5,7);
}
4、#include<iostream.h>
class FATHER{
public:
virtual void answer( )
{cout<<I am father\n";
return;
}
}
class DAUGHTER:public FATHER{
public:
virtual void answer( )
{cout<<"I am daughter\n";
return;
}
}
class SON:public FATHER{
public:
void answer()
{cout<<"I am son\n";
return;
}
}
int main()
{ FATHER father;
DAUGHTER daughter;
SON son;
FATHER *who;
who=&father;
who->answer();
who=&daughter;
who->answer();
who=&son;
who->answer();
return 0;
}
(补充)
1、函数原型的概念。
2、C++语言的结束标志、语句结束标志、语句块结束标志、类定义结束标志。
3、运算符重载(一元、二元)的参数个数。
4、隐式类型转换的概念。
5、类成员重载和友元重载的区别。
6、多态类和抽象类的区别;它们的基类和派生类的定义实现代码要求有何不同。
7、析构函数的概念、多态性、动态绑定、静态绑定、异常。
8、C++语言的五种数据类型的长度。
9、动态区和静态区存储的内容。
10、对重载函数的调用依据、不依据什么?
11、protected的用法。
12、<<、>>的功能,在什么类中定义?什么叫流?
13、时间和日期类,关于点定义的类。
14、复数类(重载加、减等)和用流输出一个素数。
15、has-a 的关系。
16、写出结果并分析。
1)#include<iostream.h>
void f(int x,int y){
cout<<x+y;
}
main(){
int i=1;
f(i--,i++);
}
2)#include<iostream.h>
void func1()
void func2()
int main(){
func1();
return 0;
}
int a=1;
void func1(){
a++;
cout<<a<<endl;
func2();
}
void func2{
cout<<a<<endl;
}
3)class Base{
Base(){cout<<"Generate Base"<<endl;}
~Base(){cout<<"Destroy Base"<<endl;}
};
class child:public Base{
child():Base(){cout<<"Generate child"<<endl;}
~child(){cout<<"Destroy child"<<endl;}
};
main(){
Base obj;
}
child c2;