База ответов ИНТУИТ

Язык программирования C++ для профессионалов

<<- Назад к вопросам

Что будет напечатано в результате работы программы:

  class A   { public: A() { cout << "A "; };            virtual A* new_A() { return new A(); }  };  class B : public A   { public: B(){ cout << "B " ;};            A* new_A() { return new B(); }  };  void fun(A* p1, A* p2)  { A* p3 = p1->new_A();    A* p4 = p2->new_A();  }  void main()  { A* p1 = new A;    B* p2 = new B;    fun(p1,p2);  }    

(Отметьте один правильный вариант ответа.)

Варианты ответа
А А А В В В
A В B A В B
A A B A A B(Верный ответ)
Похожие вопросы

Что выводит данная программа, если она верна?

#include <iostream.h>class Х{public:virtual void fun(int a = 0){cout << a;}};class Y: public X{public:virtual void fun(int a = 1) {cout << a ; }};int main(){X *px = new X;px->fun();X *py = new Y;py->fun();return 0;}	

Определены классы:

  class A  { public: void fun() { cout << "функция класса A\n"; }  };  class B: public A  { public: void fun() { cout << "функция класса B\n"; }  };  class C: public B  { public: void fun() { cout << "функция класса C\n"; }  };  
Что будет напечатано в результате выполнения операторов:
      C obj;      obj.A::fun();  

Если записано

class A { public: void f() { cout << 1; } };class B : public A{ public: void f() { cout << 2; } };	
то что будет напечатано? B b; A& a=b; a.f();

Если записано

	class A { public: void f() { cout << 1; } };	class B : public A	{ public: void f() { cout << 2; } };	
то что будет напечатано? B b; b.f();

Определены классы:

  class A  { void fun() { cout << "функция класса A\n"; }  };  class B : private A  { public: void fun() { cout << "функция класса B\n";}  };  class C : private B  { public: void fun() { cout << "функция класса C\n";}  };  
Что будет напечатано в результате выполнения операторов:
      C *obj;      obj = new C;      obj->fun();  

Определите результат работы данной программы для A a; B b; b.f();

	class A { public: void f() { cout << 5; } };	class B : public A	{ public: void f() { cout << 6; } };	

Что будет выведено на экран в результате выполнения приведенной ниже программы:

	#include "iostream.h"#include "conio.h"class NewClass{  int x;  int y;  public:  NewClass(int x0,int y0)  {    x=x0;    y=y0;  }  void DISPLAY(void)  {    cout<<x<<" "<<y;  }  NewClass operator+(NewClass obj)  {    NewClass tmp(0,0);    tmp.x=x+obj.x;    tmp.y=y+obj.y;    return tmp;  }};int main(){  NewClass obj1(1,3),obj2(5,8);  obj1=obj1+obj2;  obj1.DISPLAY();  getch();  return 0;}	

Что будет напечатано в результате работы следующей программы?

  #include <iostream>  int f1(int x, int y)    {  return x + y; }  int f2(int x, int y)    {  return x * x + y * y; }  int (*pf1)(int, int);  int (*pf2)(int, int);  main()  { pf1 = &f1;    pf2 = &f2;    int x = 2, y = 3;    cout << (*pf1)(x, y) << ' ' << (*pf2)(x, y) << endl;  }  

Что будет выведено на экран?

  class A  { public:    A() { x = 1; };               int f() { return x; };    protected: int x;  };  class B  { public:    B() { x = 2; };               int f() { return x; };    protected: int x;  };  class C : public A, public B  {  };   C* c = new C;  cout << c->f();  delete c;  

Какой будет результат следующей программы?

  class t  { public: t() { s = 2; }            ~t() {};            int s;            int f(int a)             { s++;               return s * a;             }            class t2            { public : int i; };  };	main()	{ t obj_t;    t::t2 obj_t2;    obj_t2.i = 5;		cout <<	(obj_t.f(2) + obj_t2.i) << endl;	}