大家做三个C++选择题!

2024年11月16日 03:33
有3个网友回答
网友(1):

1,ACD肯定是,B不太清楚
2B肯定是C不太清楚
public在子类里虚指可见也能被肢誉睁外部访问,protected只在子类可见,外部不能访问
3,我再研究历岁研究,报错是这样的
14 D:\c++\test\main.cpp request for member `fun' in `b', which is of non-class type `Foo ()()'
我理解了,没有参数的定义应该是Foo b
Foo b()代表一个返回值为Foo,名字叫b的函数,这个函数自然没有fun这个功能

网友(2):

1. C
std::vector::iterator 重载了*, ->,[]三个运算符悉神
2.B C D
类内类外应该是对象可不可以调用成员来说的。
比如
class A
{
private:
int a;
public:
void f();
};
A a;
a.a;//成员变量不可以在类外访问
a.f();//f()可以橡陆渣在类外访问
在类内可见就是衍生类的成员函梁悄数是否可以访问这个变量为基准就好。
你的选择是对的。

3.C。
这个问题要看编译器怎样理解。
编译器会把 Foo b();误解成一个函数b()的声明,而这个函数的返回值是Foo。
b被理解成函数。下面的语句4当然就被报错了。
构造不含参的对象应该这样:Foo b;

网友(3):

第三慎轮题:语句3错了,应该写成Foo b;
写成Foo b();没意思,核如不执改孝启行,自然到语句四时就出错,其实是第三句错了

第二题:C错了