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

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

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

<pre> //====================== start of sample.h ========================== struct S_EMPTY {}; struct A { int i; double g; }; class B { long jj; public: char _str[6]; private: static char str_4_all[9]; }; union mytypes_t { int i; float f; } My; //====================== end of sample.h ========================== </pre> Доступ к каким из членов класса, описанных в файле sample.h (выше), является открытым?

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

Варианты ответа
B::jj
A::i(Верный ответ)
My::f(Верный ответ)
B::_str(Верный ответ)
B::str_4_all
Похожие вопросы
<pre> //====================== start of sample.h ========================== struct S_EMPTY {}; struct A { int i; double g; }; class B { long jj; public: char _str[6]; private: static char str_4_all[9]; }; union mytypes_t { int i; float f; } My; //====================== end of sample.h ========================== </pre> Доступ к каким из членов класса, описанных в файле sample.h (выше), является закрытым?
<pre> //====================== start of sample1.h ========================== struct S_EMPTY {}; typedef S_EMPTY my_empty_str; typedef std::vector&lt;int&gt; my_vector; typedef char[15] my_char15; class B { long jj; public: char _str[6]; private: static char str_4_all[9]; }; typedef B my_B; union mytypes_t { int i; float f; } My; typedef mytypes_t __My; //====================== end of sample1.h ========================== </pre> Какие из типов, описанных в файле sample1.h (выше), являются классом в широком смысле этого слова?
<pre> //====================== start of sample.cpp ========================== class User { public: const char* name; inline int age; private: volatile double balance; mutable char* job_name; protected: long long phone_number; static int phone_prefix = 499; }; //====================== end of sample.cpp ========================== </pre> Какие атрибуты класса User объявлены корректно?
<pre> //====================== start of sample.cpp ========================== class Program { public: static char* country; static const int version = 5; static short buid_num = 2223; static char* name; static long long date; }; Program prog; //====================== end of sample.cpp ========================== </pre> Какие объявления и обращения к членам класса и объекта prog, типа Program в файле sample.cpp корректны?
<pre> //====================== start of sample.cpp ========================== class Program { static char* prog_name; volatile long threads_count; mutable double time_of_work; long version; public: static char* get_name() { return prog_name; } long* getthreadscount() { return &amp;threads_count; } volatile long* get_threads_count() { return &amp;threads_count; } static double get_time_of_work() { return time_of_work; } volatile long get_version() { return version; } }; //====================== end of sample.cpp ========================== </pre> Какие методы в файле sample.cpp корректно обращаются к членам класса?
<pre> //====================== start of sample.cpp ========================== class User { public: const char* get_name() const; inline int get_age const; private: volatile double get_balance(); mutable char* get_job_name(); protected: long long get_phone_number(); static int get_phone_prefix(); }; //====================== end of sample.cpp ========================== </pre> Какие методы класса User объявлены корректно?
<pre> //====================== start of sample.h ========================== struct A {}; struct B; struct B *pb = 0; struct A *pa = 0; struct B b; struct A a; void foo(const struct B&amp; in_b); //====================== end of sample.h ========================== </pre> Какие присвоения и объявления в файле sample.h валидны?
<pre> //====================== start of sample.cpp ========================== #include &lt;boost/variant/variant.hpp&gt; struct A {}; struct B { B(int src); private: B(const B&amp; src); }; struct C { C(int src); private: C(); }; struct D {}; int main(int argc, char* argv[]) { boost::variant&lt;int, A, B, C&gt; myvariant; int x; int* y; A a; B b(x); C c(x); D d; myvariant = x; myvariant = y; myvariant = a; myvariant = b; myvariant = c; myvariant = d; return 0; } //====================== end of sample.cpp ========================== </pre> Какие объекты можно присвоить объекту myvariant из примера в файле sample.cpp?
<pre> //====================== start of sample.cpp ========================== class Program { char* prog_name; public: long threads_count; double time_of_work; long version; }; const Program&amp; get_my_program(); int main() { Program&amp; prg = const_cast<Program&amp;>(get_my_program()); long Program::*pmy_thr_count = &Program::threads_count; long my_threads_1 = *pmy_thr_count; long my_threads_2 = prg.*pmy_thr_count; long Program::*pversion = &amp;Program::version; long my_version = (&amp;prg)-&gt;*pversion; char* Program::*pmy_name = &amp;Program::prog_name; char* my_name = prg.*pmy_name; return 0; } //====================== end of sample.cpp ========================== </pre> Какие присвоения значений членов класса переменным будут успешны в файле sample.cpp?
<pre> //====================== start of sample.cpp ========================== class Program { long threads_count; double time_of_work; public: char* prog_name; long version; long get_threads_count(); double get_time_of_work(); }; const Program&amp; get_my_program(); typedef double (Program::*my_getter)(); int main() { long Program::*pversion = &amp;Program::version; char* Program::*pmy_name = &amp;Program::prog_name; long (Program::*f_threads_count)() = &amp;Program::get_threads_count; Program&amp; prg = const_cast&lt;Program&amp;&gt;(get_my_program()); long my_version = (prg)-&gt;*pversion; char* my_name = prg.*pmy_name; long my_threads_count = (prg.f_threads_count)(); my_getter getter = &amp;Program::get_time_of_work; double my_time_of_work = (prg.*getter)(); return 0; } //====================== end of sample.cpp ========================== </pre> Какие присвоения значений членов класса переменным будут успешны в файле sample.cpp?