1.静态数据成员不能在类中初始化,使用时需要在类体外声明。(T)
2.静态数据成员不能在类中初始化,使用时需要在类体外声明。(F)
3.友元函数不是类的成员函数,只是独立于该类的一般函数。(T)
4.一个类的友元函数可以访问该类的私有成员。(T)
5.一个类的友元函数可以访问该类的私有成员。(F)
2-1
下面关于友元的描述中,错误的是:(D)
A.友元函数可以访问该类的私有数据成员
B.一个类的友元类中的成员函数都是这个类的友元函数
C.友元可以提高程序的运行效率
D.类与类之间的友元关系可以继承
2-2
关于友元函数的描述中,错误的是?(B)
A.友元函数不是成员函数
B.友元函数必须在类体内定义
C.友元函数可以访问类的私有数据成员
D.友元函数破坏了类的封装
2-3
引入友元的主要目的是为了(C)
A.增强数据安全性
B.提高程序的可靠性
C.提高程序的效率和灵活性
D.保证类的封装性
2-4
下面程序的输出结果是(D)
#include
using namespace std;
class MyClass {
public:
MyClass() {
++count;
}
~MyClass() {
–count;
}
static int getCount() {
return count;
}
private:
static int count;
};
int MyClass::count = 0;
int main() {
MyClass obj;
cout << obj.getCount();
MyClass obj2;
cout << MyClass::getCount();
cout << obj2.getCount();
return 0;
}
A.121
B.232
C.221
D.122
2-5
下面对静态数据成员的描述中正确的是(B)。
A.类的不同对象有不同的静态数据成员值
B.静态数据成员是类的所有对象共享的数据
C.类的每个对象都有自己的静态数据成员
D.静态数据成员不能通过类的对象调用
2-6
在下面有关静态成员函数的描述中,正确的是(A)。
A.在建立对象前,就可以为静态数据成员赋值
B.静态成员函数在类外定义时要用static前缀
C.静态成员函数只能在类外定义
D.在静态成员函数中可以使用this指针
1.静态数据成员初始化必须在类外进行。
2.(4分)A variable that is part of a class, yet is not part of an object of that class, is called a static member. There is exactly one copy of a static member instead of one copy per object, as for ordinary non-static members.
分数 10
作者 范鹏程
单位 内蒙古师范大学
根据main函数的调用以及程序的输出完成类定义,实现指定的功能
测试main函数样例:
#include
#include
#include
using namespace std;
/请在这里写上相应的类定义/
int main(){
Salesman sman[]={
Salesman(“Li”,4,100,0.5),
Salesman(“Wang”,3,200,0.4),
Salesman(“Liu”,2,300,0.3)
};
Salesman::show();
cout<<“Average commission is:”<
}
输入样例:
在这里给出一组输入。例如:
无
输出样例:
在这里给出相应的输出。例如:
There are 3 salesmen,sales amount is:620
Average commission is:206.667
暂无
分数 10
作者 范鹏程
单位 内蒙古师范大学
根据main函数的调用以及程序的输出完成类定义,实现指定的功能
测试main函数样例:
#include
#include
#include
using namespace std;
/请在这里写上相应的类定义/
int main(){
Salesman sman[]={
Salesman(“Li”,4,100,0.5),
Salesman(“Wang”,3,200,0.4),
Salesman(“Liu”,2,300,0.3)
};
Salesman::show();
cout<<“Average commission is:”<
}
输入样例:
在这里给出一组输入。例如:
无
输出样例:
在这里给出相应的输出。例如:
There are 3 salesmen,sales amount is:620
Average commission is:206.667
暂无
分数 10
作者 fpc
单位 内蒙古师范大学
定义猫和老鼠:Cat与Mouse两个类,二者都有weight属性,定义二者的一个友元函数totalweight(),计算二者的重量和。
裁判测试程序样例:
#include
using namespace std;
/* 请在这里填写答案 */
int main()
{
int w1,w2;
cin>>w1>>w2;
Cat tom(w1);
Mouse jerry(w2);
cout<
输入样例:
100 200
输出样例:
300
class Cat{
public:
Cat(int x){weight=x;}
friend int totalWeight(Cat &a,Mouse &b);
private:
int weight;
};
class Mouse{
friend class Cat;
public:
Mouse(int y){weight=y;}
friend int totalWeight(Cat &a,Mouse &b);
private:
int weight;
};
int totalWeight(Cat &a,Mouse &b)
{
return a.weight+b.weight;
}
分数 10
作者 赵晨
单位 浙江大学
定义Boat与Car两个类,两者都有私有的整型weight属性,定义两者的一个友元函数getTotalWeight(),计算二者的重量和。
参考主函数:
int main()
{
int n,m;
cin>>n>>m;
Boat boat(n);
Car car(m);
cout<<“船和汽车共重”<
输入格式:
请在这里写输入格式。例如:输入在一行中给出2个整数m和n。
输出格式:
请在这里描述输出格式。例如:对每一组输入,在一行中输出:船和汽车共重M+n吨值。
输入样例:
在这里给出一组输入。例如:
40 30
输出样例:
在这里给出相应的输出。例如:
船和汽车共重70吨
暂无