题来自牛客网,解析来自牛友,侵删
std::vector::iterator重载了下面哪些运算符?
正确答案: A C D 你的答案: B D (错误)
++
>>
*(前置)
==
添加笔记
求解答(12)
收藏
纠错
本题知识点
C/C++ 阿里巴巴
共有8条讨论 添加解析
41
八宝菊花茶头像八宝菊花茶
查了一下:
原题:https://www.nowcoder.com/questionTerminal/c8735c0bed0a4fd18bbd5178e7b641f2
关于重载和多态正确的是
正确答案: B 你的答案: D (错误)
如果父类和子类都有相同的方法,参数个数不同,将子类对象赋给父类后,由于子类继承于父类,所以使用父类指针
调用父类方法时,实际调用的是子类的方法
选项全部都不正确
重载和多态在C++面向对象编程中经常用到的方法,都只在实现子类的方法时才会使用
class A{
void test(float a){cout<<"1";}
};
class B:public A{
void test(int b){cout<<"2";}
};
A *a=new A;
B *b=new B;
a=b;
a.test(1.1);
结果是1
添加笔记
收藏
纠错
本题知识点
C/C++
参考解析 添加解析
15
推荐
SunburstRun头像SunburstRun
答案是B
A调用的是父类的方法,C重载也包含函数重载,D中a.test(1.1)是错误的,应该为(*a).test(1.1);然后在class A里面加public就对了,是这样:
class A{
public: void test(float a){cout<<"1";}
};
编辑于 2015-12-02 17:47:40 回复(4)
更多回答(10条)
34
macrofun头像macrofun
选项D确实不该选,做过之后再来看,选D确实太傻了。
首先,class默认访问权限为private,故所有函数都不能在外部被调用。
其实,即使把函数的访问权限声明为public,也还是不对。通过指针调用函数,应该使用a->test(1.1); 错的离谱。
选D确实不该。
正确答案为B。
编辑于 2015-12-14 10:53:14
dynamic_cast 运用于某种类型的指针或引用时,这种类型必须有虚函数
以下说法正确的是?
正确答案: B D 你的答案: B D (正确)
在多线程中不加限制的随意访问非static局部变量不会导致运算结果出错
在多线程中不加限制的随意访问非static全局变量可能会导致运算结果出错
在多线程中不加限制的随意访问static局部变量不会导致运算结果出错
在多线程中不加限制的随意访问static全局变量可能会导致运算结果出错
添加笔记
收藏
纠错
本题知识点
C/C++
参考解析 添加解析
54
推荐
雷天琪头像雷天琪
无论是static还是非static的全局变量,如果不加限制随意访问的话易出现同步问题。
无论是static还是非static的局部变量,每个线程都是私有的,其他线程不会对其进行干扰。
#include < stdio.h >
main( )
{
char a[5][10] ={ "one", "two", "three", "four", "five"};
int i,j;
char t;
for ( i=0;i<2;i++)
for ( j=i+1;j<5;j++ )
if (