2025年9月計算機二級C++語言程序設計——選擇題打卡Day10

備考計算機二級 C++ 程序設計考試,選擇題是不容忽視的重要部分。

今天為大家帶來 10 道難點選擇題,聚焦繼承、多態等核心難點,助力提升解題精度。

1、有如下程序:

#include<iostream>
using namespace std;
class Base {
public:Base() { x=0; }int x;
};
class Derived : public Base {
public:Derived() { x=1; y=2; }int y;
};
int main() {Base *p=new Derived;cout<<p->x<<endl;delete p;return 0;
}

運行時的輸出結果是( )
A. 0
B. 1
C. 2
D. 不確定

答案:B

分析:p 指向 Derived 對象,x 是基類成員,Derived 構造函數將 x 設為 1,輸出 1,故選 B。

2、下列關于純虛函數的敘述中,正確的是( )
A. 純虛函數是沒有函數體的虛函數
B. 純虛函數的聲明格式為 “virtual 函數原型 = 0;”
C. 派生類必須重定義基類的純虛函數
D. 含有純虛函數的類可以創建對象

答案:B

分析:純虛函數聲明為virtual 返回類型 函數名(參數)=0;,B 正確;A 錯誤(可以有函數體);C 錯誤(派生類可仍為抽象類);D 錯誤(不能創建對象),故選 B。

3、有如下程序:

#include<iostream>
using namespace std;
class A {
public:virtual void f() { cout<<"A"; }
};
class B : public A {
public:void f() { cout<<"B"; }
};
class C : public B {
public:void f() { cout<<"C"; }
};
void show(A a) { a.f(); }
int main() {C c;show(c);return 0;
}

運行時的輸出結果是( )
A. A
B. B
C. C
D. 編譯錯誤

答案:A

分析:show 函數參數是值傳遞(對象切片),a.f () 調用基類 A 的 f,輸出 A,故選 A。

4、下列關于虛基類的敘述中,正確的是( )
A. 虛基類的構造函數不會被調用
B. 虛基類可以解決多繼承中的二義性問題
C. 虛基類的派生類一定是虛派生
D. 虛基類不能被實例化

答案:B

分析:虛基類通過共享基類對象解決二義性,B 正確;A 錯誤(會被調用);C 錯誤(派生類可非虛派生);D 錯誤(可實例化),故選 B。

5、有如下程序:

#include<iostream>
#include<string>
using namespace std;
class Person {
public:Person(string n) : name(n) {}virtual void Print() { cout<<name; }
private:string name;
};
class Student : public Person {
public:Student(string n, int i) : Person(n), id(i) {}void Print() { Person::Print(); cout<<id; }
private:int id;
};
int main() {Person *p=new Student("Tom", 123);p->Print();delete p;return 0;
}

運行時的輸出結果是( )
A. Tom
B. 123
C. Tom123
D. 編譯錯誤

答案:C

分析:Print 是虛函數,p->Print () 調用 Student 的版本,輸出 Tom123,故選 C。

6、下列關于運算符重載的敘述中,正確的是( )
A. 重載運算符的優先級可以改變
B. 重載運算符的結合性可以改變
C. 重載運算符的操作數個數可以改變
D. 重載運算符的功能可以改變

答案:D

分析:運算符重載不改變優先級、結合性和操作數個數,僅改變功能,D 正確,故選 D。

7、有如下程序:

#include<iostream>
using namespace std;
template <class T>
class MyClass {
public:MyClass(T x) { cout<<x; }
};
int main() {MyClass<int> a(10);MyClass<double> b(3.14);return 0;
}

運行時的輸出結果是( )
A. 103.14
B. 103
C. 3.1410
D. 編譯錯誤

答案:A

分析:類模板實例化為 int 和 double 版本,分別輸出 10 和 3.14,故選 A。

8、下列關于友元函數和成員函數的敘述中,正確的是( )
A. 友元函數和成員函數都有 this 指針
B. 友元函數和成員函數都可以直接訪問類的私有成員
C. 友元函數不能被繼承,成員函數可以被繼承
D. 友元函數和成員函數的聲明位置都必須在類的公有部分

答案:C

分析:友元函數無 this 指針,A 錯誤;成員函數需權限允許,B 錯誤;C 正確;友元和成員函數可在任何部分聲明,D 錯誤,故選 C。

9、有如下程序:

#include<iostream>
using namespace std;
int main() {int a[3][3]={{1,2,3}, {4,5,6}, {7,8,9}};int (*p)[3]=a;cout<<*(*(p+1)+2)<<endl;return 0;
}

運行時的輸出結果是( )
A. 5
B. 6
C. 8
D. 9

答案:B

分析:p+1 指向第二行,*(p+1)+2 指向第二行第三列元素 6,輸出 6,故選 B。

10、下列關于動態綁定的敘述中,正確的是( )
A. 動態綁定是在編譯時確定調用的函數版本
B. 動態綁定僅適用于虛函數
C. 動態綁定需要使用對象名調用函數
D. 動態綁定可以通過非指針和引用的基類對象實現

答案:B

分析:動態綁定在運行時確定,A 錯誤;僅適用于虛函數,B 正確;需通過基類指針或引用,C、D 錯誤,故選 B。

希望這 10 道題能幫助大家對 C++ 難點知識點有更深入的理解和掌握。如果想要獲取完整版 PDF(含二級更多題目題庫)

夸克網盤分享

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/97201.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/97201.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/97201.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Formdata表單數據提交

前言&#xff1a;在表單數據提交中&#xff0c;常常除了字符串拼接的方式傳給后端&#xff0c;一般可能還需要使用Fromdata的格式包裝所要提交的表單數據傳遞。常用場景&#xff1a;表單數據提交一、Formdata的優勢使用 FormData 主要是因為它有兩個獨特優勢&#xff1a;能輕松…

React Native 初體驗

前言 最近公司需要移植一個應用到 iOS 端&#xff0c;本來想要嘗試 uniapp 的新架構 uniapp-x 的&#xff0c;折騰兩天放棄了&#xff0c;選擇了 React Native。 原因&#xff1a; HbuilderX 中的 uniapp-x 模版過于臃腫&#xff0c;夾雜很多不需要的東西&#xff08;可能是…

自動駕駛中的傳感器技術36——Lidar(11)

本章節重點介紹和FMCWOPA Lidar強相關的硅光技術。 1、硅光技術概述&#xff08;Silicon Photonics&#xff09; 硅光技術主要是用在光通信中&#xff0c;利用硅作為光學介質&#xff0c;通過光傳輸和處理數據。與依賴電子進行數據傳輸的傳統電子電路不同&#xff0c;硅光子學…

MapStruct用法和實踐

一、MapStruct 用法1. 嵌套對象深度映射&#xff08;Deep Mapping&#xff09;// 源對象 public class User {private Address address;// getter/setter }public class Address {private String city;private String street; }// 目標對象 public class UserDTO {private Stri…

設計模式相關面試題

寫在前面 &#x1f525;我把后端Java面試題做了一個匯總&#xff0c;有興趣大家可以看看&#xff01;這里&#x1f449; ??在反復復習面試題時&#xff0c;我發現不同資料的解釋五花八門&#xff0c;容易造成概念混淆。尤其是很多總結性的文章和視頻&#xff0c;要么冗長難…

訪問者設計模式

訪問者設計模式是一種行為模式&#xff0c;允許您向現有對象結構添加新作&#xff0c;而無需修改其類。 它通過允許您將算法與其作的對象分開來實現這一點。 它在以下情況下特別有用&#xff1a; 您有一個復雜的對象結構&#xff08;如 AST、文檔或 UI 元素&#xff09;&#x…

Linux_用 `ps` 按進程名過濾線程,以及用 `pkill` 按進程名安全殺進程

用 ps 按進程名過濾線程&#xff0c;以及用 pkill 按進程名安全殺進程摘要&#xff1a; 過濾線程信息&#xff1a;教你用 ps -C、pgrepps 等多種姿勢&#xff0c;既精準又避免誤殺。按名字殺進程&#xff1a;用 pkill 一把梭&#xff0c;優雅還是強殺隨你選&#xff0c;附帶“先…

關于國產 RAC 和分布式研討

本次研討核心目標是圍繞崖山 DB、達夢 DB、GBASE三款國產數據庫&#xff0c;以及數據庫內核開發呂工程師的分享&#xff0c;深入了解共享集群 RAC 的開發技術。但實際效果未達預期&#xff0c;參會者多圍繞 “共享集群與分布式應用場景” 泛泛而談&#xff0c;缺乏深度技術拆解…

傳輸層協議介紹

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔文章目錄前言一、TCP協議介紹二、TCP報文格式三、TCP三次握手四、TCP四次揮手五、UDP協議介紹六、常見協議及其端口七、TCP與UDP的不同總結前言提示&#xff1a;這里可以添加本…

Vibe Coding 概念提出者 AndrejKarpathy 談強化學習。

在預訓練時代&#xff0c;關鍵在于互聯網文本。你最需要的是一大批量、多樣化且高質量的互聯網文檔&#xff0c;供模型從中學習。在監督微調&#xff08;SFT&#xff09;時代&#xff0c;核心則是對話數據。人們雇傭合同工人為問題撰寫答案&#xff0c;類似于你在 Stack Overfl…

OSI模型和TCP/IP模型區別是什么

問題OSI模型和TCP/IP模型區別是什么我的回答OSI和TCP/IP這兩個協議棧有幾個主要區別&#xff1a;首先&#xff0c;層次結構不同。OSI是七層模型&#xff1a;物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層。而TCP/IP是四層模型&#xff1a;數據鏈路層、網絡層、傳…

ros2與gazebo harmonic機械臂仿真項目Moveit2YoloObb的優化

文章目錄 關于項目RVIZ控制Gazebo Harmonic仿真機械臂GraphExecuter創建流程并通過Yolo算法抓取螺栓 關于項目 本文介紹ros2與gazebo harmonic機械臂仿真項目Moveit2YoloObb優化的內容&#xff0c;具體的代碼細節就不贅述了&#xff0c;主要還是演示效果&#xff0c;包括RVIZ控…

Linux 系統調優與CPU-IO-網絡內核參數調優

1. Linux系統調優1.1 安裝工具包在開始監控前&#xff0c;需要確保系統已安裝以下工具包&#xff0c;它們是后續操作的基礎&#xff1a;sysstat&#xff1a;包含 mpstat、iostat、sar 等核心統計工具iotop&#xff1a;專門監控磁盤 I/O 的進程級工具nethogs&#xff1a;按進程查…

laravel學習并連接mysql數據庫,給本地vue項目提供接口

下載laravel laravel下載地址phpstudy_pro\WWW\laravel.env文件 DB_CONNECTIONmysql DB_HOST127.0.0.1 DB_PORT3306 DB_DATABASEclgl //你的數據庫名稱 DB_USERNAMEroot //你的賬號 DB_PASSWORDroot //你的密碼安裝 Laravel CORS 包 composer require fruitcake/laravel-c…

Mybatis 與 Springboot 集成過程詳解

Mybatis 與 Springboot 集成過程詳解一. 核心概念與優勢二.Mybatis 核心類簡介1.MybatisAutoConfiguration2.MapperScans3.MapperScannerRegistrar4.MapperFactoryBean5.Configuration6.MapperRegistry7.MapperProxy 與 MapperProxyFactory7.1核心定位與職責7.22. ??MapperPr…

prometheus alertmanager 對接飛書

alertmanager 直接配置 飛書 的 webhook &#xff0c;發現并不滿足飛書接口的 json 格式。報錯如下levelerror ts2025-08-28T04:57:02.734Z callerdispatch.go:310 componentdispatcher msg"Notify for alerts failed" num_alerts23 err"prometheusalert-webhoo…

『專利好藥用力心腦血管健康』——愛上古中醫(28)(健康生活是coder抒寫優質代碼的前提條件——《黃帝內經》伴讀學習紀要)

心臟血管三通康&#xff0c;古時丸藥精益裝。 筆記模板由python腳本于2025-08-26 18:25:03創建&#xff0c;本篇筆記適合喜歡日常保健養生知識的coder翻閱。 學習的細節是歡悅的歷程 博客的核心價值&#xff1a;在于輸出思考與經驗&#xff0c;而不僅僅是知識的簡單復述。 Pyth…

在 .NET 8.0 中實現 JWT 刷新令牌

介紹在 Web 開發領域&#xff0c;安全是重中之重。JSON Web Tokens (JWT) 已成為在各方之間安全傳輸信息的熱門選擇。然而&#xff0c;在 JWT 過期后&#xff0c;如何維護用戶會話并避免頻繁登錄至關重要。這正是 JWT 刷新令牌應運而生的地方。在本文中&#xff0c;我們將指導您…

深入解析 git push 命令

1. 基礎語法 git push 的基本語法如下: git push <遠程倉庫名> <本地分支名>:<遠程分支名> [選項]<遠程倉庫名>: 通常是 origin(默認的遠程倉庫名稱)。 <本地分支名>:<遠程分支名>: 指定要推送的本地分支以及目標遠程分支。如果省略遠…

UI彈出動畫

簡介的UI彈出動畫 使用方式很簡單 掛載到需要彈出的目標 即可 using UnityEngine; using DG.Tweening; using Unity.VisualScripting;/// <summary>/// 簡潔的UI動畫腳本/// 直接掛載到UI組件上&#xff0c;調用Play()播放縮放彈出動畫/// </summary>public class …