IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> PTA-C++(静态成员与友元1*) -> 正文阅读

[C++知识库]PTA-C++(静态成员与友元1*)

一、判断题

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.

四、函数题

6-1 工资与提成

分数 10
作者 范鹏程
单位 内蒙古师范大学
根据main函数的调用以及程序的输出完成类定义,实现指定的功能

测试main函数样例:
#include
#include
#include<string.h>
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:”<<Salesman::getAver()<<endl;
return 0;
}

输入样例:
在这里给出一组输入。例如:


输出样例:
在这里给出相应的输出。例如:

There are 3 salesmen,sales amount is:620
Average commission is:206.667

暂无

6-1 工资与提成

分数 10
作者 范鹏程
单位 内蒙古师范大学
根据main函数的调用以及程序的输出完成类定义,实现指定的功能

测试main函数样例:
#include
#include
#include<string.h>
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:”<<Salesman::getAver()<<endl;
return 0;
}

输入样例:
在这里给出一组输入。例如:


输出样例:
在这里给出相应的输出。例如:

There are 3 salesmen,sales amount is:620
Average commission is:206.667

暂无

6-3 猫和老鼠有多重

分数 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<<totalWeight(tom,jerry)<<endl;
}
输入样例:
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;
}

五、编程题

7-1 友元函数的练习

分数 10
作者 赵晨
单位 浙江大学
定义Boat与Car两个类,两者都有私有的整型weight属性,定义两者的一个友元函数getTotalWeight(),计算二者的重量和。

参考主函数:
int main()
{
int n,m;
cin>>n>>m;
Boat boat(n);
Car car(m);
cout<<“船和汽车共重”<<getTotalWeight(boat,car)<<“吨”<<endl;
}

输入格式:
请在这里写输入格式。例如:输入在一行中给出2个整数m和n。

输出格式:
请在这里描述输出格式。例如:对每一组输入,在一行中输出:船和汽车共重M+n吨值。

输入样例:
在这里给出一组输入。例如:

40 30
输出样例:
在这里给出相应的输出。例如:

船和汽车共重70吨

暂无
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-07-03 10:32:27  更:2022-07-03 10:32:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 17:18:11-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码