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++知识库 -> C++笔试题详解+扩展 -> 正文阅读

[C++知识库]C++笔试题详解+扩展

目录

1.请设计一个类,不能在类外创建该类的对象。

分析:

2.请设计一个不能被继承的类。

分析:

3.请设计一个能被继承的类,但不能在类外创建该类的对象。

分析:

4.请设计一个类,只能生成该类的一个实例。

分析:

答案如下:

5.能否在主函数前执行一段代码? 可以!

方法:类+构造函数(输出,证明先执行)+静态全局对象!

?6.C++中struct和C语言中struct的区别:

(1)若struct A{}为空结构:

(2)功能差异

7.基类A与子类B有同名静态变量(可以出现,不共享)

举例:

?在子类中修改基类同名静态成员:


1.请设计一个类,不能在类外创建该类的对象。

分析:

只需要将该类的构造函数定义为私有private即可。(如图)

2.请设计一个不能被继承的类。

分析:

使用final关键字,使类被终结(无法被继承),但仍可创建该类的对象。(如图)

3.请设计一个能被继承的类,但不能在类外创建该类的对象。

分析:

只需将该类的构造函数定义为保护protected的即可。(如图)

4.请设计一个类,只能生成该类的一个实例。

分析:

将构造函数设置为private私有 => 则一个对象都定义不了。

对象可以调用拷贝构造函数给对象赋值 => 删除系统的拷贝构造函数。

?A::GetA()就是创建对象,无需再赋值!!

类中的方法被调用:(1)用对象调用;(2)静态方法可以使用方法名+作用域解析符调用。

非常量引用&只能绑定左值!!返回创建好的对象:改为右值引用:&&

答案如下:

5.能否在主函数前执行一段代码? 可以!

方法:类+构造函数(输出,证明先执行)+静态全局对象!

class A
{
protected:
	static int m_num;
public:
	A() { cout << "A:num=" << ++m_num << endl; }
};
int A::m_num = 0;
static A a; //静态全局对象
void main()
{
	cout << "main begin!" << endl;
}

?6.C++中struct和C语言中struct的区别:

(1)若struct A{}为空结构:

对于C++:sizeof(A)=1!(等同于C++定义的类class中什么都没有:sizeof=1,占位符)。

对于C语言:sizeof(A)=0!

(2)功能差异

C++中的struct和类class所具有的功能相同,可以封装函数

C语言只能在其中定义属性!

7.基类A与子类B有同名静态变量(可以出现,不共享)

子类B本身不与基类A共享A的静态成员(各是各的)!若要在B中使用A的静态成员:使用作用域解析符即A::m_num

举例:

class A
{
public:
	A() { cout << "m_num=" << ++m_num << endl; }
	void Print() { cout << "A:num=" << m_num << endl; }
protected:
	static int m_num;
};
int A::m_num = 10;

class B :public A
{
public:
	B() { m_num++; }
	void print() { cout << "B:num=" << m_num << endl; }
protected:
	static int m_num;//A,B中均有同名的静态成员
};
int B::m_num = 20;

void main()
{
	A a;
	B b;
	a.Print();
	b.print();
}

?在子类中修改基类同名静态成员:

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 10:25:04  更:2022-08-06 10:28:23 
 
开发: 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年5日历 -2024/5/3 16:14:32-

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