Задача I:
1. Соберется ли программа?
2. Что будет напечатано на экране в результате работы программы? Объясните, почему.
___________________________
#include
#include
struct A {
A(std::string) {}
};
struct B : public A {
B() : A ( s = f() ) {}
void print() { std::cout << s << std::endl; }
std::string f() { return "Hello world"; }
private:
std::string s;
};
int main() {
B b;
b.print();
return 0;
}
___________________________
Задача II:
Имеется сторонняя динамически подключаемая библиотека, library.dylib. У
программиста имеется следующий заголовочный файл:
___________________________
library.h
#include
struct Shape {
void draw();
};
typedef Shape* (*loadShapeFunc)(std::istream &);
___________________________
Программист использует библиотеку следующим образом:
___________________________
#include
#include
using namespace std;
int main() {
void *library = dlopen("library.dylib", RTLD_LAZY);
if (!library)
return 1;
loadShapeFunc loadShapeFromStream =
reinterpret_cast(dlsym(library, "loadShapeFromStream"));
if (!loadShapeFromStream)
return 2;
Shape *triangle = loadShapeFromStream(cin);
triangle->draw();
dlclose(library);
return 0;
}
___________________________
Какие потенциальные проблемы Вы видите в коде?
Гарантия на работу | 1 год |
Средний балл | 4.96 |
Стоимость | Назначаете сами |
Эксперт | Выбираете сами |
Уникальность работы | от 70% |