本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
一、问答题
1.请说明类的纯虚函数、虚函数、静态成员函数、普通成员函数的区别。
2.什么情况下,类的析构函数应该声明为虚函数?为什么?
二、说明题
下列题目,请写出输出结果,并要求说明原因。
3.下面的函数调用输出什么?
void Test()
{
char *p = "Test";
cout << &p << endl;
cout << p << endl;
cout << *p << endl;
cout << p[0] << endl;
void *q = "Test";
cout << &q << endl;
cout << q << endl
}
4.有如下的类:
class CBase
{
public:
virtual void Test() const { cout << "Output from CBase!" << endl; };
};
class CDerived : public CBase
{
public:
virtual void Test() const { cout << "Output from CDerived!" << endl; };
};
int main()
{
CBase a;CDerived b;
a. Test();
b. Test();
}
三、分析题
有如下的复数类:
class complex
{
public:
complex(double r = 0.0, double i = 0.0) { re = r; im = i; };
double real() const { return re; };
double image() const { return im; };
private:
double re;
double im;
};
complex operator+(const complex& left, const complex& right)
{
return complex(left.real() + right.real(), left.image() + right.image());
}
complex operator*(const complex& left, const complex& right)
{
return complex(left.real()*right.real() - left.real()*right.image(), left.real()*right.image() + left.image()*right.real());
}
请分析:
5.没有把运算符重载设置为类的成员函数有什么好处?
6.能不能把函数参数前面的const去掉?为什么?
7.类的成员函数real()和image()后面的const表示什么?这样写有什么好处? |
|