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

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

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

В конструкторе класса

	class  A { 	public:   	A() { ptr = new char[size];    Init(); }  	~A() { if (ptr) delete[] ptr; }    char* ptr; };	
произошла исключительная ситуация. Будет ли потеряна память при откате по стеку?

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

Варианты ответа
нужно определить длину строки ptr и тогда делать выводы
будет, если создавалась автоматическая переменная класса A(Верный ответ)
это неизвестно
нет, не будет
Похожие вопросы

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

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

В каком из вариантов объявление класса ошибочно?

1.class A{		void F();public:	int Func(int x){ F();}	};2.class A{		char* name;public:	void Func(){ printf("Hello");}};	
Какой результат будет у следующего выражения?
int main(){      char *s1;      char s2[] = "Hello";      *s1 = "Hi!";      s1[2] = s2[1];      cout << s1;}

Что будет напечатано в результате выполнения фрагмента программы?

  char s[]="abcd1234";  char *str = s + 4;  cout << str;  

В файлы f1.txt и f2.txt записана строка символов 1234. Что будет выведено на экран в результате работы следующего фрагмента программы:

  char s1[] = "f1.txt"; char s2[] = "f2.txt";  ifstream from(s1);  fstream to(s2, ios::in | ios::out);  char ch;  from.seekg(1);  from.get(ch);  to.seekp(3);  to.put(ch);  to.seekp(0);  while(to.get(ch))     cout << ch;  cout << endl;  

В файлы f1.txt и f2.txt записана строка символов 1234. Что будет выведено на экран в результате работы следующего фрагмента программы:

  char s1[] = "f1.txt"; char s2[] = "f2.txt";  ifstream from(s1);  fstream to(s2, ios::in | ios::out);  char ch;  from.seekg(2);  from.get(ch);  to.seekp(1);  to.put(ch);  to.seekp(0);  while(to.get(ch))     cout << ch;  cout << endl;  

Что будет напечатано в результате выполнения фрагмента программы?

  char s[]  = "abcd yuio";  char *str = s;  cout << str;  

Верно ли такое объявление класса Name?

	class Name{	public:	int Age;	char* name;};	

Определен шаблон и описаны объекты класса:

  template <class A, int n> class my_template {A x[n]; /*…*/};     my_template <char, 20> y1;  my_template <int, 20> y2;  my_template <char, 30> y3;  my_template <int, 20> y4;  
Какой из следующих операторов не содержит ошибки:

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

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