Re: Цікаві задачі
А я вже подумав про опцію для лінкера, яка встановлює місцем запуску іншу процедуру.
Хочу це побачити. :3
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → Алгоритми та структури даних, технології → Цікаві задачі
Сторінки Попередня 1 2 3 4 5 … 20 Наступна
Для відправлення відповіді ви повинні увійти або зареєструватися
А я вже подумав про опцію для лінкера, яка встановлює місцем запуску іншу процедуру.
Хочу це побачити. :3
Сподобалась тема!
У мене також є цікава задача:
1. є деякий клас, в якому обов"язково є 1 віртуальна функція, яка не працює з данними класу але
щось виводить на екран.
об"явлення класу є. Як викликати цю функцію не використовуючи її ім"я?
Сподобалась тема!
У мене також є цікава задача:
1. є деякий клас, в якому обов"язково є 1 віртуальна функція, яка не працює з данними класу але
щось виводить на екран.
об"явлення класу є. Як викликати цю функцію не використовуючи її ім"я?
Покажчиком на функцію.
Так, це була лаба :)
Ось моя реалізація -
#include <iostream.h>
class A {
public:
virtual void func() { cout << " Welcom to A"<<endl; }
};
typedef void (*func_type)();
int main()
{
A a = new;
func_type* vptb = *reinterpret_cast<func_type**>( &a );
vptb[0]();
system ("PAUSE");
return 0;
}
Bartash: код варто брати у теги code.
Я от не можу докумекати як реалізувати наступне:
Є клас в якому об"явлено метод і елемент типу int.
Через вказівник на об"єкт класу викликається метод, який повертає значення елементу int. Як не змінюючи реалізацію класу забезпечити, щоб при виклику метода через вказівник викликався не він, а моя глобальна функція, яка змінить елемент питу int помноживши його на 10 ?
Важливо - спадкування використовувати не можна; відповідно не можна створювати нових класів.
Тобто ви маєте на увазі, що потрібно перевантажити operator-> ?
А хіба для перевантаження цього operatorа не доведеться змінювати реалізацію класу?
І на скільки я знаю operator-> обов"язково має бути методом, а не глобальною функцією ??
Дійсно, не подумав. Хм...
"Викликається через вказівник" - що це означає? В C++ можна придумати кілька варіантів. Можна використовувати будь-який?
Уточнення: незмінній фрагмент коду має бути таким:
class OneMethod
{
public:
int x;
int getX(){return x;}
};
...
OneMethod om, *pom=&om;
om.x=5;
cout << pom->getX();//виводить 50
чи можна гратися усіма умовами ("виклик методу через вказівник" - не pom->getX(), а (*pom).getX(); int може бути статичним - не сказано ж іншого; і т.д.)?
Можна "гратися" усіма умовами.
Головне, щоб у класі був тільки один метод, наприклад F() і елемент типу int.
А також дано, що у мейні вже є вказівник на об"єкт через який викликається метод F()
наприклад :
A *p;
p->F();
І як не змінюючи ці умови зробити так, щоб при виклику p->F(); викликався не метод F(), а нова моя функція, яка не є методом і, яка змінить елемент класу типу int.
От я і не можу придумати як зробити цю заміну функцій
Привіт, допоможіть написати програму для знаходження НСД(найбільшого спільного дільника) 2х натуральних чисел. С++
Привіт, терміново прочитайте правила, особливо пп. 3.3-3.6.
Пане dmkdok, я б вам відповів, але вже зробив це місяць тому в повідомленні якраз перед вашим...
cuhedg: а без умовного оператору зможете?
Я зможу
Chemist-i: а без функцій? Тут має вистачити однієї математики.
Chemist-i: а без функцій? Тут має вистачити однієї математики.
Звичайно:
Моє рішення (c-символ, повністю розписувати не бачу сенсу):
А я і не кажу, що моє рішення оптимальне. Але використовує воно тільки шкільну математику, на відміну від вашого.
Переписати елементи, розташовані вище допоміжної діагоналі в одновимірний масив S1, а елементи, розташовані нижче допоміжної діагоналі в одновимірний масив S2.
Допоможіть з такою задачою)
Переписати елементи, розташовані вище допоміжної діагоналі в одновимірний масив S1, а елементи, розташовані нижче допоміжної діагоналі в одновимірний масив S2.
Допоможіть з такою задачою)
Нецікаво ж.