牛客网刷题笔记(二)

函数定义不能嵌套,指的是不能在函数定义内部进行另一个函数的定义。因为函数彼此地位是平行的。

② 创建对象时,对象的内存和指向对象的指针分别分配在() A.堆区,栈区 B.常量区,堆区 C.全局区,栈区 D.栈区,堆区

解析

栈区是由编辑器自动分配释放,用来存放对象的物理地址,而堆区用来存放方法和变量,并将产生的地址传给栈区。

③ 若有以下类T说明,则函数fFriend的错误定义是( )。

class T
    {
          
   
    int i;
    friend void fFriend( T&, int );
    };
A. void fFriend( T &objT, int k )  { objT.i = k; }
B. void fFriend( T &objT, int k )  { k = objT.i; }
C. void T::fFriend( T &objT, int k )  { k += objT.i; }  
D. void fFriend( T &objT, int k )  { objT.i += k; }

解析

友元函数:

④如果downcast是安全的(也就是,如果基类指针或者引用确实指向一个派生类对象)这个运算符会传回适当转型过的指针。如果downcast不安全,这个运算符会传回空指针(也就是说,基类指针或者引用没有指向一个派生类对象)。这个是指C++里的()

A.dynamic_cast B.reinterpret_cast C.static_cast D.const_cast

解析——暂时不太懂

dynamic_cast将一个基类对象指针(或引用)cast到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理, 即会作一定的判断。 对指针进行dynamic_cast,失败返回null,成功返回正常cast后的对象指针; 对引用进行dynamic_cast,失败抛出一个异常,成功返回正常cast后的对象引用。
reinterpret_cast这个转换是最“不安全”的,两个没有任何关系的类指针之间转换都可以用这个转换实现。
static_cast静态转换是最接近于C风格转换,很多时候都需要程序员自身去判断转换是否安全。 const_cast这个转换好理解,可以将常量转成非常量。

⑤int *p[4] 与选择项中的 说明 () 等价 正确答案: C A.int p[4] B.int *p C.int *(p[4]) D.int (*p)[4]

解析

考察运算符优先级——[ ] 优先级高于 * 所以p先表示数组,数组的元素是指针,指针指向int型数据

#include<bits/stdc++.h>
using namespace std;
int main(){
          
   
     int n = 5;
     vector<int>a;
     set<int>b;
     for(int i = 1; i <= n; ++i){
          
   
           a.push_back(i);
           b.insert(i);}
    
    for(int i = 1; i <= n; ++i){
          
   
           a.push_back(i);
           b.insert(i);}
    
    cout<<a.size()<<b.size()<<endl;
    return 0;}

程序的输出为( )

解析

考察容器,vector是

⑦以下程序段的输出结果是( )。 答案:1234

int a=1234;

printf("%2d ",a);

解析

%d前面的数字表示打印格式的位数。 1.如果输出的内容位数不足将会在左边补足空格 2.如果输出的内容位数超过%d前面的数字会将内容全部输出,%d前面的数字相当于无效

⑧类A是类B的友元,类C是类A的公有派生类,忽略特殊情况则下列说法正确的是( )

A.类B是类A的友元 B.类C不是类B的友元 C.类C是类B的友元 D.类B不是类A的友元

解析

BD 友元关系是单向的,不是对称,不能传递。 关于传递性,有人比喻:父亲的朋友不一定是儿子的朋友。 那关于对称性,是不是:他把她当朋友,她却不把他当朋友?✧(≖ ◡ ≖✿)

⑨print函数声明为void print(int a,char b=‘b’,int c=1); 下面函数调用正确的是( )

A.print(‘a’); B.print(5,8); C.print(5,’#’); D.print(5,’#’,2);

⑩CSingleLock

经验分享 程序员 微信小程序 职场和发展