Что напечатает следующий код:
using namespace System;
class Base
{
public:
virtual void f()
{
Console::Write("Base!");
}
void f2()
{
f();
}
};
ref class Derived : public Base
{
public:
void f()
{
Console::Write("Derived!");
}
};
int main()
{
Derived o;
o.f2();
return 0;
}
Что напечатает следующий код:
using namespace System;
class Base
{
public:
virtual void f()
{
Console::Write("Base!");
}
void f2()
{
f();
}
};
ref class Derived : public Base
{
public:
void f()
{
Console::Write("Derived!");
}
};
int main()
{
Derived o;
o.f2();
return 0;
}
Укажите все корректные соответствия между типами C++/CLI и типами CLR (Common Language Runtime):
Укажите все корректные соответствия между типами C++/CLI и типами CLR (Common Language Runtime):
Что будет отображено на экране в результате выполнения следующего кода:
using namespace System;
ref class Base
{
public:
Base() {
Console::Write("A");
}
static Base() {
Console::Write("B");
}
};
ref class Derived : Base
{
public:
Derived() {
Console::Write("C");
}
};
int main() {
Derived a;
return 0;
}
Что будет отображено на экране в результате выполнения следующего кода:
using namespace System;
ref class Base
{
public:
Base() {
Console::Write("A");
}
static Base() {
Console::Write("B");
}
};
ref class Derived : Base
{
public:
Derived() {
Console::Write("C");
}
};
int main() {
Derived a;
return 0;
}
Укажите все правильные способы объявления статического класса:
Укажите все правильные способы объявления статического класса:
Как правильно объявить управляемый массив из трёх элементов типа double?
Варианты ответа:
1) double a[3];
2) double *a=new double[3];
3) array<double> a[3];
4) array<double, 3> a;
5) array<double> ^a = gcnew array<double>(3);
6) array<double> *a = new array<double>(3);
Как правильно объявить управляемый массив из трёх элементов типа double?
Варианты ответа:
1) double a[3];
2) double *a=new double[3];
3) array<double> a[3];
4) array<double, 3> a;
5) array<double> ^a = gcnew array<double>(3);
6) array<double> *a = new array<double>(3);
Сколько интерфейсов может наследовать управляемый класс?
Сколько интерфейсов может наследовать управляемый класс?
Что выведет на экран следующий код:
using namespace System;
int main(array ^args)
{
double ^pd1=1.0;
double ^pd2=30.0;
double ^pd3;
*pd3=*pd2**pd1;
pd3=*pd2**pd2;
Console::Write(*pd1**pd3);
return 0;
}
Что выведет на экран следующий код:
using namespace System;
int main(array ^args)
{
double ^pd1=1.0;
double ^pd2=30.0;
double ^pd3;
*pd3=*pd2**pd1;
pd3=*pd2**pd2;
Console::Write(*pd1**pd3);
return 0;
}
Какие операторы циклов есть в C++/CLI?
Какие операторы циклов есть в C++/CLI?
Выберите все правильные способы определения абстрактной функции:
Выберите все правильные способы определения абстрактной функции:
Сколько базовых классов может иметь управляемый класс?
Сколько базовых классов может иметь управляемый класс?
Может ли конструктор класса быть приватным?
Может ли конструктор класса быть приватным?
Что выведет на экран следующий код:
using namespace System;
ref class A
{
public:
virtual void write() {
Console::Write("A");
}
};
ref class B : public A
{
public:
virtual void write() override {
Console::Write("B");
}
};
ref class C : public A
{
public:
void write() new {
Console::Write("C");
}
};
int main()
{
A ^class1 = gcnew A();
A ^class2 = gcnew B();
A ^class3 = gcnew C();
class1->write();
class2->write();
class3->write();
return 0;
}
Что выведет на экран следующий код:
using namespace System;
ref class A
{
public:
virtual void write() {
Console::Write("A");
}
};
ref class B : public A
{
public:
virtual void write() override {
Console::Write("B");
}
};
ref class C : public A
{
public:
void write() new {
Console::Write("C");
}
};
int main()
{
A ^class1 = gcnew A();
A ^class2 = gcnew B();
A ^class3 = gcnew C();
class1->write();
class2->write();
class3->write();
return 0;
}
Что будет выведено на экран в результате выполнения данного кода:
using namespace System;
int main()
{
Int32 v = 8;
Int32% r = v;
Int32^ p = v;
v = 9;
r = 10;
p = 11;
Console::WriteLine(v + ", " + r + ", " + p);
return 0;
}
Что будет выведено на экран в результате выполнения данного кода:
using namespace System;
int main()
{
Int32 v = 8;
Int32% r = v;
Int32^ p = v;
v = 9;
r = 10;
p = 11;
Console::WriteLine(v + ", " + r + ", " + p);
return 0;
}
Что можно поставить вместо многоточия в списке формальных параметров функции Swap, чтобы в результате выполнения кода на консоль было выведено "2, 1" (укажите все подходящие варианты):
using namespace System;
ref class Clazz
{
public:
static void Swap(int ...a, int ...b)
{
int t = a;
a = b;
b = t;
}
};
int main()
{
int a=1, b=2;
Clazz::Swap(a,b);
Console::Write(a + ", " + b);
return 0;
}
Что можно поставить вместо многоточия в списке формальных параметров функции Swap, чтобы в результате выполнения кода на консоль было выведено "2, 1" (укажите все подходящие варианты):
using namespace System;
ref class Clazz
{
public:
static void Swap(int ...a, int ...b)
{
int t = a;
a = b;
b = t;
}
};
int main()
{
int a=1, b=2;
Clazz::Swap(a,b);
Console::Write(a + ", " + b);
return 0;
}
Скомпилируется ли данный код:
interface class IA
{
void f();
};
interface class IB
{
void f();
};
ref class Clazz : IA, IB
{
public:
void f(){ /*...*/ }
};
Скомпилируется ли данный код:
interface class IA
{
void f();
};
interface class IB
{
void f();
};
ref class Clazz : IA, IB
{
public:
void f(){ /*...*/ }
};
Выберите правильное объявление индексатора с двумя аргументами:
Варианты ответа:
1) int operator[](int i, int j){ /*...*/ }
2) int operator[int i, int j]{ /*...*/ }
3) property int this[int, int] { /*...*/ }
4)
property int default[int, int] { int get(int i, int j){ /*...*/ } void set(int i, int j, int value){ /*...*/ } }
5)
property int this[int, int]
{
int get(int i, int j){ /*...*/ }
void set(int i, int j, int value){ /*...*/ }
}
Выберите правильное объявление индексатора с двумя аргументами:
Варианты ответа:
1) int operator[](int i, int j){ /*...*/ }
2) int operator[int i, int j]{ /*...*/ }
3) property int this[int, int] { /*...*/ }
4)
property int default[int, int] { int get(int i, int j){ /*...*/ } void set(int i, int j, int value){ /*...*/ } }
5)
property int this[int, int]
{
int get(int i, int j){ /*...*/ }
void set(int i, int j, int value){ /*...*/ }
}
Выберите все правильные утверждения относительно интерфейсов:
Выберите все правильные утверждения относительно интерфейсов: