对单目运算符重载为友元函数时,可以说明一个形参。而重载为成员函数时,不能显式说明形参。
虚函数是用virtual 关键字说明的成员函数。
使用提取符(<<)可以输出各种基本数据类型的变量的值,也可以输出指针值。
因为静态成员函数不能是虚函数,所以它们不能实现多态。
重载operator+时,返回值的类型应当与形参类型一致。
比如以下程序中,operator+的返回值类型有错:
class A {
int x;
public:
A(int t=0):x(t){ }
int operator+(const A& a1){ return x+a1.x; }
};
对象之间的相互作用和通信是通过消息。( )不是消息的组成部分。
( )不是面向对象程序设计的主要特征。
对定义重载函数的下列要求中,( )是错误的。
关于动态绑定的下列描述中,( )是错误的。
关于虚函数的描述中,( )是正确的。
下列叙述中,不正确的是( )。
在下面类声明中,关于生成对象不正确的是( )。
class point
{ public:
int x;
int y;
point(int a,int b) {x=a;y=b;}
};
下列运算符中,( )运算符不能重载。
关于纯虚函数和抽象类的描述中,( )是错误的。
在下列关键字中,用以说明类中公有成员的是( )。
打印“Hello World!”,占一行。
#include <iostream>
using namespace std;
int main()
{
cout<<"(10分)"<<endl;
return 0;
}
阅读下面的程序,完成其中复制构造函数的代码。
#include <iostream>
using namespace std;
class CAT
{ public:
CAT();
CAT(const CAT&);
~CAT();
int GetAge() const { return *itsAge; }
void SetAge(int age){ *itsAge=age; }
protected:
int* itsAge;
};
CAT::CAT()
{ itsAge=new int;
*itsAge =5;
}
CAT::CAT(const CAT& c)
{
(5分);
(5分);
}
CAT::~CAT()
{ delete itsAge; }