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

Программирование на С/С++

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

<pre>//====================== start of sample.cpp ========================== int main() { Reader readers1[] = {&quot;&quot;, &quot;&quot;}; std::vector<Reader> readers2; Reader reaedr3 = {(22, &quot;Vasily&quot;, &quot;Ivanov&quot;, 123456), (45, &quot;Alex&quot;, &quot;V&quot;, 993421) }; return 0; }//====================== end of sample.cpp ========================== </pre> Какие конструкторы должны быть определены для типа Reader, что бы инициализации массивов объектов этого типа и объявления контейнеров, приведённые в файле sample.cpp были успешными?

(Ответ считается верным, если отмечены все правильные варианты ответов.)

Варианты ответа
можно явно не определять ни одни конструктор
Reader(unsigned long, const char*, const char*, unsigned long)(Верный ответ)
Reader()(Верный ответ)
Reader(unsigned long)
Reader(const char*)(Верный ответ)
Похожие вопросы
<pre>//====================== start of sample.cpp ========================== #include &lt;vector&gt; class Person { short m_age; const char* m_name; const char* m_surname; public: Person(short age, const char* name, const char* subname) : m_age(age), m_name(name), m_surname(subname){} Person() : m_name(&quot;unknown&quot;){} }; class Reader: public Person { long m_ticket_number; public: Reader(long tick_numb = 0) : Person() , m_ticket_number(tick_numb) {} Reader(short age, const char* name, const char* surname, long tick_numb) : Person(age, name, surname) , m_ticket_number(tick_numb){} }; int main() { Reader reader1; Reader reader2 = 35; Reader reaedr3(22, &quot;Vasily&quot;, &quot;Ivanov&quot;, 123456); return 0; }//====================== end of sample.cpp ========================== </pre> Значения каких атрибутов каких объектов корректно инициализируются не нулевыми значениями?
<pre>//====================== start of sample.cpp ========================== class Person { short m_age; char* m_name; char* m_subname; public: Person(short age, char* name, char* subname) : m_age(age), m_name(name), m_subname(subname){} }; class Library { public: long m_books_count; const char* m_name; const char* m_city; }; int main() { Library my_lib = {1240, &quot;Main&quot;, &quot;DefaultCity&quot;}; Library *p_lib = new Library; Library empty_lib; Person any_person(25, &quot;Djon&quot;,&quot;S&quot;); Person *pother_person = new Person; return 0; }//====================== end of sample.cpp ========================== </pre> Инициализация каких объектов в файле sample.cpp выполняется корректно конструктором по умолчанию?
<pre>//====================== start of sample.cpp ========================== struct Book { short year; char* author; char* name; }; class Person { short m_age; const char* m_name; const char* m_subname; public: Person(short age, const char* name, const char* subname) : m_age(age), m_name(name), m_subname(subname){} }; class Library { public: long m_books_count; char* m_name; char* m_city; Library(long books_count): m_books_count(books_count){} }; int main() { Book book1 = {&quot;Owrell&quot;, 1984, &quot;1984&quot;}; Book book2 = {1984}; Person main_author = {65, &quot;Bjarne&quot;, &quot;Stroustrup&quot;}; Person my_author(65, &quot;Bjarne&quot;, &quot;Stroustrup&quot;); Library my_lib = 25; return 0; }//====================== end of sample.cpp ========================== </pre> Инициализация каких объектов в файле sample.cpp выполнена корректно?
<pre>//====================== start of sample.cpp ========================== #include &lt;stdio.h&gt; class Region; class Person { public: short m_age; const char* m_name; const char* m_surname; const char* m_region_name; Person(const char* name) : m_name(name) {} operator short () {return m_age;} operator const char* () {return &quot;&quot;;} }; class Region { public: const char* region_name; const char* cheef_name; long size; Region(const char* region_nm = &quot;&quot;) : region_name(region_nm) {} operator long () {return size;} operator const char* () {return region_name;} }; int main() { Person p1(&quot;Vasily Ivanov&quot;); Region r; printf(&quot;Region number %u, driver %s&quot;, static_cast&lt;unsigned short&gt;(r), static_cast&lt;const char*&gt;(p1)); return 0; }//====================== end of sample.cpp ========================== </pre> Какие из имеющихся в файле sample.cpp конструкторов и операторов преобразования задействованы в операциях в функции main()?
<pre> /*---- start of main.c ----*/ #include &lt;stdio.h&gt; const char* g_name = &quot;programm&quot;; char directory[8]; int main(int argc, char* argv[] ) { int i = 1; const char* right_name = &quot;right&quot;; for (; i<argc; ++i) { if (0 == strcmp(argv[i], right_name)) return 0; } return 1; } /*---- end of main.c ----*/ </pre> В какой части памяти программы из выше приведённого файла main.c находится переменная right_name?
<pre> /*---- start of main.c ----*/ #include &lt;stdio.h&gt; const char* g_name = &quot;programm&quot;; char directory[8]; int main(int argc, char* argv[] ) { int i = 1; const char* right_name = &quot;right&quot;; for (; i&lt;argc; ++i) { if (0 == strcmp(argv[i], right_name)) return 0; } return 1; } /*---- end of main.c ----*/ </pre> В какой части памяти программы из вышеприведённого файла main.c находится переменная argc?
<pre> //====================== start of sample.cpp ========================== #include &lt;stdexcept&gt; void my_open1() { throw int(8); } void my_open2() try { throw std::logic_error(&quot;&quot;); } catch(std::runtime_error&amp; err) {} void my_open3() try { throw std::runtime_error(&guot;runtime&quot;); } catch(const std::runtime_error* err) {} struct ERR_ {}; void my_open4() { try { throw ERR_(); } catch(...) {} } int main() { try { } catch(...) { return 5; } return 0; } //====================== end of sample.cpp ========================== </pre> Вызов каких из функций изнутри блока try в функции main() приведёт к завершению программы с результатом 5?
<pre>//====================== start of sample.cpp ========================== class Computer { public: Computer(OutPutDev&amp; outdev) : m_proc(&quot;amd64&quot;) , m_disk2(1024) , m_disk1(128) , m_mem(4096) , m_output(outdev) { m_pinput = new InputDev(); } private: Processor m_proc; HDDDev m_disk1; HDDDev m_disk2; InputDev* m_pinput; OutPutDev&amp; m_output; Memory m_mem; };//====================== end of sample.cpp ========================== </pre> Какие утверждения о порядке вызовов конструкторов классов при создании объекта типа Computer в файле sample.cpp верны?
<pre>//====================== start of sample.cpp ========================== class Region; class Person { public: short m_age; const char* m_name; const char* m_surname; const char* m_region_name; Person(const char* name) : m_name(name) {} operator short () {return m_age;} operator const char* () {return &quot;&quot;;} operator Region* (); }; class Region { public: const char* region_name; const char* cheef_name; long size; Region(const char* region_nm) : region_name(region_nm) {} operator long () {return size;} operator const char* () {return region_name;} operator Person () {return Person(cheef_name);} }; Person::operator Region* () {return new Region(m_region_name);}//====================== end of sample.cpp ========================== </pre> Какие операторы преобразования класса Person не являются корректными с точки зрения архитектуры?
<pre>//====================== start of sample.cpp ========================== #include &lt;vector&gt; class ServiceOrganization; class Building { static char* m_city; const unsigned int m_high_size; std::vector&lt;int&gt; m_flats; unsigned int m_square; ServiceOrganization&amp; m_organization; public: Building(); }; int main() { Building house; return 0; }//====================== end of sample.cpp ========================== </pre> Какие члены класса Building из файла sample.cpp обязательно должны быть инициализированы в списке инициализации?