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

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

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

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

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);	

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

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

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

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

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

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

  • operator+();
  • operator++();
  • В чем ошибка при таком определении бинарного оператора: String operator+()?

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

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

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

      MyClass operator+(MyClass  x1, MyClass x2)  { int sum= x1.a + x2.a;    return *new MyClass(sum);  }  
    Дано частичное определение класса 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;  }

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

      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];}  
    Какие из следующих операторов приведут к ошибкам компиляции?

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

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