已知f1(int)是类A的公有成员函数,并将指针p定义为可以指向函数f1的指针类型,则可以实现让p是指向
已知f1(int)是类A的公有成员函数,并将指针p定义为可以指向函数f1的指针类型,则可以实现让p是指向成员函数f1()的指针的语句为【 】。
已知f1(int)是类A的公有成员函数,并将指针p定义为可以指向函数f1的指针类型,则可以实现让p是指向成员函数f1()的指针的语句为【 】。
有如下类声明: class Foo{int bar;}; 则Foo类的成员bar是()。
A.公有数据成员
B.公有成员函数
C.私有数据成员
D.私有成员函数
有如下类声明: class Foo {int bar;}; 则Foo类的成员bar是()
A.公有数据成员
B.公有成员函数
C.私有数据成员
D.私有成员函数
A.void f(int&) const;
B.const A * f(const int );
C.A& f(int, int=50);
D.A f(const int&) const;
类 Contain 的定义如下: class Contain { private: int x; protected: int z; public: class Embed { private: int y; public: Embed () { y=100; } int Embed_Fun(); }MyEmbed; int Contain_Fun(); }; 下列对上面定义的描述中,正确的是()。
A.定义类Embed对象的语句是:Contain::Embed Myobject;
B.类Contain的成员函数Contain_Fun()中可以访问对象MyEmbed的私有成员y
C.类Embed的成员函数Embed_Fun()中可以直接访问类Contain的所有成员
D.类Embed的成员函数Embed_Fun()中只能直接访问类Contain的公有成员
A.1和f2都是静态函数
B.1是静态函数,f2不是静态函数
C.1不是静态函数,f2是静态函数
D.1和f2都不是静态函数
请按要求完成下列操作,将类的定义补充完成:
①类Derived是基类Base公有派生来的。请在注释“//* *1* *”之后添加适当的语句。
②完成构造函数Derived(int i)定义,采用初始化列表的方式使基类Base私有成员a初始化为i+1,类Derived的私有成员b初始化为i。请在注释“//* *2* *”之后添加适当的语句。
③完成类Derived的成员函数show()的类体外的定义。函数show()中要显式调用基类的show()函数,然后要输出私有成员b的值。请在注释“//* *3**”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件MyMain10.cpp清单如下:
//MyMain10.cpp
include<iostream>
using namespace std;
class Base
{
public:
Base(int x)
{
a=x
}
void show()
{
cout<<a;
}
private:
int a;
};
//* * *1* * *
{
public:
//* * * 2 * * *
void show();
private:
int b;
};
void Derived :: show()
{
//* * * 3 * * *
}
int main()
{
Derived d(1), *pb;
pb=&d;
pb->show();
return 0;
}
下列关于派生类和基类的描述中,正确的是()。
A.派生类成员函数只能访问基类的公有成员
B.派生类成员函数只能访问基类的公有和保护成员
C.派生类成员函数可以访问基类的所有成员
D.派生类对基类的默认继承方式是公有继承
A.公有数据成员和公有成员函数都可以通过类对象直接访问
B.类的私有数据成员只能被公有成员函数以及该类的任何友元类或友元函数访问
C.保护成员在派生类中可以被访问,而私有成员不可以
D.类或派生类的成员函数可以访问保护成员