C++
"The Rule ...
Site Language: English
Українська
English
Русский
Programming Tests
Login
Sign Up
Programming Tests
Theory
Snippets
Papers
Landing
Android
Prices
FAQ
Cosmo Story
Terms and Conditions
Privacy Policy
Cookies Policy
Send Feedback
"The Rule of Three" — rule in C++, saying that if a class or a structure defines at least one of the following methods, then it should define all three methods. Which methods are mentioned in the rule (select all that applies)?
= operator (assignment by copying)
< operator
> operator
Constructor
Copy constructor
Destructor
Explanation
* Destructor
* Copy constructor
* Copy assignment operator
destructor
operators
constructors
1
(1)
Like
Login in
to like
Comment
Login in
to comment
Share
Tweet
Related Content
Что будет выведено на экран? #include <iostream> class A { public: A(void){std::cout << "A";} ~A(void){std::cout << "a";} }; class B : public A { public: B(void){std::cout << "B";} ~B(void){std::cout << "b";} }; int main(void) { B b; return 0; }
Что напечатает следующий код? #include <iostream> using namespace std; struct A { A() { cout << "A()"; } A(int) { cout << "A(int)"; } void operator=(int) { cout << "="; } }; struct B { A a, b; B() : b(1) { a = 2; } }; int main() { B b; }
Сколько конструкторов и деструкторов может быть у одного класса (выберите наиболее точный вариант)?
Сколько методов есть у пустого класса (C++11)?
Сколько методов по умолчанию в данном классе создаётся компилятором ? Class A { }
C
++
Quiz
Login to learn C++
or
Read more about
C++ Quizzes
Follow CodeGalaxy
Mobile Beta
Send Feedback
Keep exploring
C++ quizzes
int main() { const int* i = int(); // 1 int const* j = int(); //2 int* const k = int(); //3 int* l(); //4 ++i; //5 ++j; //6 ++k; //7 ++*k; //8 ++l; //9 } Откомпилируется ли такой код? Если нет, то в каких строчках будут ошибки компиляции? После стандарта C++14.
Какой результат работы программы? #include <iostream> using namespace std; void f(double) { cout<<"f1"<<endl; } void f(const int ) { cout<<"f2"<<endl; } void f( int & ) { cout<<"f3"<<endl; } void main(void) { int n = 1; double b = 2; f(n); f(b); }
#include <iostream> using namespace std; int &test() { static int a = 3; return a; } int main() { ++++++test(); cout << test() << endl; return 0; } Что выведет cout?
При истинности какого из приведенных высказываний имеет смысл вычитание указателей?
Какое ключевое слово используется для описания пространства имен?
В чем разница между X x; и X x(); ?
Sign Up Now
or
Subscribe for future quizzes
Login in to like
Login in to comment