Выберите все правильные способы определения абстрактной функции:
Выберите все правильные способы определения абстрактной функции:
Скомпилируется ли данный код:
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(){ /*...*/ }
};
Что выведет на экран следующий код:
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;
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;
}
Что выведет на экран следующий код:
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;
}
Выберите все правильные утверждения относительно интерфейсов:
Выберите все правильные утверждения относительно интерфейсов:
Может ли конструктор класса быть приватным?
Может ли конструктор класса быть приватным?
Что можно поставить вместо многоточия в списке формальных параметров функции 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;
}
Как правильно объявить управляемый массив из трёх элементов типа 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;
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;
}
Сколько базовых классов может иметь управляемый класс?
Сколько базовых классов может иметь управляемый класс?
Сколько интерфейсов может наследовать управляемый класс?
Сколько интерфейсов может наследовать управляемый класс?
Какие операторы циклов есть в C++/CLI?
Какие операторы циклов есть в C++/CLI?
Что будет выведено на экран в результате выполнения данного кода:
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;
}
Укажите все правильные способы объявления статического класса:
Укажите все правильные способы объявления статического класса:
Выберите правильное объявление индексатора с двумя аргументами:
Варианты ответа:
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){ /*...*/ }
}
Укажите все корректные соответствия между типами C++/CLI и типами CLR (Common Language Runtime):
Укажите все корректные соответствия между типами C++/CLI и типами CLR (Common Language Runtime):