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

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

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

Что обозначает следующая запись?
class Block<int, 100>{public:Вlоск() {р = new int [100];}~Block {delete [ ] p;}operator int * ( );protected:int * p;};Block<int, 100>:: operator int *(){return р;}

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

Варианты ответа
обнуление сотого параметра класса
инициализацию целых переменных до 100
специализацию шаблона публичного класса для хранения 100 целых величин(Верный ответ)
Похожие вопросы

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

  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;  

Выберете корректное объявление

1.class A{		friend A&operator+(A&a, A&b);};A&operator+(A&a, A&b);2.class A{		friend A&operator+(A&b);};A&A::operator+(A&a, A&b);3.class A{		A&operator+(A&b);};friend A&A::operator+(A&a, A&b);	

Выберете корректные объявления

1.class A{		friend A&operator+(A&a, A&b);};A&operator+(A&a, A&b);2.class A{		friend A&operator+(A&a, A&b);};A&A::operator+(A&a, A&b);	

Объявлен класс:

  class Point  {   int x,y,z;      char *s;    public:      Point(int,int,int, char*);      int GetX() { return x;}      int GetY() { return y;}      int GetZ() { return z;}      Point* operator->()       { return this;}   };  Point::Point(int x1,int y1,int z1, char * s1)       { x=x1; y=y1; z=z1; int n=strlen(s1); s=new char[n+1];         for(int i=0;i<=n;i++) s[i]=s1[i];}  
Какие из следующих операторов приведут к ошибкам компиляции?

К какому виду относится класс, объявленный так:

  class vector_handler   { vector* p;    public: vector* operator->() { return p; }            vector_handler(vector* pp) : p(pp) { }  };    

Что обозначает следующая запись?

	class В{ / * ... * / };class С: public В{ /* ... */ };С* с = new С;В* b = dynamic_cast<B*>(c);	
Дано частичное определение класса MyClass:
class MyClass {  int a;  //...public:  MyClass(int);  MyClass(const MyClass&);  //...};

Будет ли работать этот оператор:

MyClass operator+(MyClass  x1, MyClass x2)  { int sum= x1.a + x2.a;    MyClass result(sum);    return result;  }

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

	#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;}	

Какой из этих операторов сложения возвращает сумму по ссылке?

  • operator+();
  • operator++();
  • Какой из этих операторов сложения возвращает сумму по значению?

  • operator+();
  • operator++();