正在加载图片...
class At private: …其它成员 public virtual void func(int data)scout<<class A: "<<data<<endl; void func(char *str)f cout<<class A: <<str<<endl; i class B: public At …其它成员 void funco(cout<<function in B without parameter! n, void func(int data) cout<<class B: <<data<<endl; void func( char *str)f cout<<class B: <<str<<end; i int main(int argc, char argvD) ApA pa=&b pA->func(1) A->func(haha”); eturn o 问题1:(本小题4分)在下面写出程序的运行结果 问题2:(本小题2分)如下句所示,在函数manO中通过pA调用类B中定义的参数表为 空的函数funO: pA->funco 是否正确? 答:(正确/不正确) 问题3:(本小题10分)如果要记录已尼创建的A类的实例(对象)的个数,我们可以借助 于类的静态成员。修改上面类A的定义,使得它包含一个私有的静态成员 object count,记 录属于该类的对象的个数,然后为类A增加必要的成员函数,使得下面的程序 A*pA=new A[3] cout<" There are”<<pA> GetObject Count)<<” objects”"< <endl delete pA cout<<"There are<<A: GetObject Count(<<"objects<<endl 得到的输出为: There are 3 objects There are 0 objects 在下面写出类A的定义(将所有的函数成员实现写在类定义体中): 在下面写出初始化类的静态成员 object count的语句: 五、(本题共9分)class A{ private: //…其它成员 public: virtual void func(int data){cout<<”class A:”<<data<<endl;} void func(char *str){ cout<<”class A:”<<str<<endl; } }; class B: public A{ //…其它成员 public: void func() {cout<<”function in B without parameter! \n”;} void func(int data) { cout<<”class B:”<<data<<endl; } void func(char *str){ cout<<”class B:”<<str<<endl;} }; int main(int argc,char *argv[]) { A *pA; B b; pA=&b; pA->func(1); pA->func(“haha”); return 0; } /*************************************************************************/ 问题 1:(本小题 4 分)在下面写出程序的运行结果: 问题 2:(本小题 2 分)如下句所示,在函数 main()中通过 pA 调用类 B 中定义的参数表为 空的函数 func() : pA->func(); 是否正确? 答:(正确/不正确) 问题 3:(本小题 10 分)如果要记录已尼创建的 A 类的实例(对象)的个数,我们可以借助 于类的静态成员。修改上面类 A 的定义,使得它包含一个私有的静态成员 object_count,记 录属于该类的对象的个数,然后为类 A 增加必要的成员函数,使得下面的程序: void main() { A *pA=new A[3]; cout<<”There are ”<<pA->GetObjectCount()<<” objects”<<endl; delete []pA; cout<<”There are ”<<A::GetObjectCount()<<” objects”<<endl; } 得到的输出为: There are 3 objects There are 0 objects 在下面写出类 A 的定义(将所有的函数成员实现写在类定义体中): 在下面写出初始化类的静态成员 object_count 的语句: 五、(本题共 9 分)
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有