Перейти к содержанию

Контрольная работа по программированию


pacman

Рекомендуемые сообщения

Ладно, сделаю тебе доброе дело.

 

c++11:

1.

#include <iostream>

struct Base {
	Base() { }
	~Base() { }
	char base_func(int a, int  {
		return (char)((a + *(a + );
	}
};

int main() {
	auto *b = new Base;
	std::cout << b->base_func(1, 2) << std::endl;
	delete b;
}
2.

#include <iostream>

struct Base {
	Base() { }
	~Base() { }
	char base_func(int a, int  {
		return (char)((a + *(a + );
	}
};

class Derived : public Base {
	int a, b;
public:
	Derived() = default;
	Derived(int a, int  {
		this->a = a;
		this->b = b;
	}
	~Derived() {} 
	void put(int a, int  {
		this->a = a;
		this->b = b;
	}
	void get(int &a, int  {
		a = this->a;
		b = this->b;
	}
	int derived_func() {
		return base_func(a, ;
	}
};

int main() {
	auto *d = new Derived(1, 2);
	std::cout << d->derived_func() << std::endl;
	delete d;
}
3.

#include <iostream>

template <typename T>
struct Base {
	Base() { }
	~Base() { }
	char base_func(T a, T  {
		return (char)((a + *(a + );
	}
};

template <typename T>
class Derived : public Base<T> {
	T a, b;
public:
	Derived() = default;
	Derived(T a, T  {
		this->a = a;
		this->b = b;
	}
	~Derived() {} 
	void put(T a, T  {
		this->a = a;
		this->b = b;
	}
	void get(T &a, T  {
		a = this->a;
		b = this->b;
	}
	T derived_func() {
		return this->base_func(a, ;
	}
};

int main() {
	auto *d = new Derived<int>(1, 2);
	std::cout << d->derived_func() << std::endl;
	delete d;
}
4.

#include <iostream>

class Base {
protected:
	Base() { }
public:
	virtual ~Base() { }
	virtual char base_func(int a, int  {
		return (char)((a + *(a + );
	}
	virtual int derived_func() = 0;
};

class Derived : public Base {
	int a, b;
public:
	Derived() = default;
	Derived(int a, int  {
		this->a = a;
		this->b = b;
	}
	~Derived() {} 
	void put(int a, int  {
		this->a = a;
		this->b = b;
	}
	void get(int &a, int  {
		a = this->a;
		b = this->b;
	}
	virtual int derived_func() {
		return base_func(a, ;
	}
};

int main() {
	Base *d = new Derived(1, 2);
	std::cout << d->derived_func() << std::endl;
	delete d;
}

 

 

c++03:

1.

#include <iostream>

struct Base {
	Base() { }
	~Base() { }
	char base_func(int a, int  {
		return (char)((a + *(a + );
	}
};

int main() {
	Base *b = new Base;
	std::cout << b->base_func(1, 2) << std::endl;
	delete b;
	return 0;
}
2.

#include <iostream>

struct Base {
	Base() { }
	~Base() { }
	char base_func(int a, int  {
		return (char)((a + *(a + );
	}
};

class Derived : public Base {
	int a, b;
public:
	Derived() {};
	Derived(int a, int  {
		this->a = a;
		this->b = b;
	}
	~Derived() {} 
	void put(int a, int  {
		this->a = a;
		this->b = b;
	}
	void get(int &a, int  {
		a = this->a;
		b = this->b;
	}
	int derived_func() {
		return base_func(a, ;
	}
};

int main() {
	Derived *d = new Derived(1, 2);
	std::cout << d->derived_func() << std::endl;
	delete d;
	return 0;
}
3.

#include <iostream>

template <typename T>
struct Base {
	Base() { }
	~Base() { }
	char base_func(T a, T  {
		return (char)((a + *(a + );
	}
};

template <typename T>
class Derived : public Base<T> {
	T a, b;
public:
	Derived() { };
	Derived(T a, T  {
		this->a = a;
		this->b = b;
	}
	~Derived() {} 
	void put(T a, T  {
		this->a = a;
		this->b = b;
	}
	void get(T &a, T  {
		a = this->a;
		b = this->b;
	}
	T derived_func() {
		return this->base_func(a, ;
	}
};

int main() {
	Derived<int> *d = new Derived<int>(1, 2);
	std::cout << d->derived_func() << std::endl;
	delete d;
	return 0;
}
4.

#include <iostream>

class Base {
protected:
	Base() { }
public:
	virtual ~Base() { }
	virtual char base_func(int a, int  {
		return (char)((a + *(a + );
	}
	virtual int derived_func() = 0;
};

class Derived : public Base {
	int a, b;
public:
	Derived() { };
	Derived(int a, int  {
		this->a = a;
		this->b = b;
	}
	~Derived() {} 
	void put(int a, int  {
		this->a = a;
		this->b = b;
	}
	void get(int &a, int  {
		a = this->a;
		b = this->b;
	}
	virtual int derived_func() {
		return base_func(a, ;
	}
};

int main() {
	Base *d = new Derived(1, 2);
	std::cout << d->derived_func() << std::endl;
	delete d;
	return 0;
}

 

 

P. S. Не по программированию, а по C++ T_T. Учись хоть тему озаглавливать правильно.

Изменено пользователем vit9696
  • Улыбнуло 1
  • Согласен 1
Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Похожий контент

    • Elly
      Автор Elly
      Вопросы по работе форума следует писать сюда. Вопросы по модерированию, согласно правилам, сюда писать не следует.
      Ответ можно получить только на вопрос, который грамотно сформулирован и не нарушает правил\устава форума.
    • Elly
      Автор Elly
      Здесь только приём работ. Правила конкурса тут.
    • KL FC Bot
      Автор KL FC Bot
      Сейчас принято считать, что зумеры — несерьезные сотрудники: не хотят трудиться, ленятся, часто меняют одну работу на другую. А вот статистика говорит об обратном. Почти половина представителей поколения Z переключаются между фуллтаймом, фрилансом и прочими подработками. Злоумышленники это прознали — молодые люди с несколькими работами стали для них удобной мишенью.
      Наши эксперты провели исследование и выяснили, какие неочевидные угрозы несет этот тренд. В этой статье разбираемся, как зумерам работать в нескольких местах без риска для собственной кибербезопасности.
      Больше приложений – больше проблем
      Основная проблема связана с корпоративными приложениями и доступами: звонок в Zoom на основной работе, мессенджер Slack — для другой, а задачки везде ставят в Notion. А между прочим, все эти приложения расширяют возможную поверхность атаки злоумышленников. Негодяи постоянно рассылают фишинговые письма, правдоподобно переписываются от лица работодателей и продвигают вредоносы под видом легитимного ПО для работы. Ставить фейковые поручения якобы от лица босса они тоже могут.
      В период с последней половины 2024 до первой половины 2025 эксперты «Лаборатории Касперского» зафиксировали 6 млн атак с поддельными платформами. Чаще всего атакующие имитировали приложения из золотой троицы каждого корпоративного работника: Zoom, Microsoft Excel и Outlook.
      Выглядеть это может так: злоумышленник отправляет письмо якобы от лица Zoom с просьбой обновить приложение. В письме — ссылка, которая ведет на фишинговый сайт, имитирующий оригинальную страницу Zoom и сразу же загружает на устройство фейковое приложение. Оно, в свою очередь, может красть данные контактов жертвы или вовсе получить доступ к рабочему окружению — возможных сценариев много.
      Фишинговый сайт предлагает как можно скорее установить «новую версию Zoom»
       
      View the full article
    • KL FC Bot
      Автор KL FC Bot
      При знакомстве с рейтингом CVSS (Common Vulnerability Scoring System) многим кажется, что он прекрасно подходит для сортировки уязвимостей и их приоритизации: если больше цифра рейтинга, значит уязвимость важнее. На практике этот подход не срабатывает. Уязвимостей с высоким рейтингом каждый год становится все больше, закрывать их все команды ИБ не успевают, при этом львиная доля этих дефектов никогда не эксплуатируется в реальных атаках. В то же время злоумышленники то и дело используют менее броские уязвимости с невысоким рейтингом. Есть и другие подводные камни — от чисто технических (конфликтующие оценки CVSS) до концептуальных (отсутствие бизнес-контекста).
      Считать это недостатками самого рейтинга CVSS нельзя, нужно просто применять этот инструмент правильно: в рамках более сложного и комплексного процесса управления уязвимостями.
      Разночтения CVSS
      Иногда одна и та же уязвимость получает разную оценку критичности в доступных источниках: у исследователя ИБ, который ее нашел; у производителя уязвимого ПО; в национальном реестре уязвимостей. Кроме банальных ошибок у этих разночтений может быть и более серьезная причина — разные эксперты могут расходиться в оценках контекста эксплуатации: например, о том, с какими привилегиями выполняется уязвимое приложение, доступно ли оно из Интернета, и так далее. Производитель может ориентироваться здесь на свои рекомендации лучших практик, а исследователь ИБ — на то, как приложения настроены в реальных организациях. Один исследователь может оценить сложность эксплуатации как высокую, а другой — как низкую. Все это далеко не редкость. В исследовании VulnCheck, проведенном в 2023 году, подсчитали, что 20% уязвимостей из NVD содержат два рейтинга CVSS3 из разных источников и 56% этих парных оценок конфликтуют между собой.
       
      View the full article
    • Олег Андрианов
      Автор Олег Андрианов
      Добрый день!
      Уже вторую неделю бьюсь с  настройкой связки KSC и KES под Astra Linux. Основная проблема обновление баз с KSC - оно отказывается идти.
      Есть изолированная сеть с  ~20 компьютеров. Домена, DNS, интернета - нет. На одном из компьютеров (работает под Astra Linux Воронеж) установлены две сетевые карты.  Одна смотрит внутрь этой сети, другая имеет доступ в интернет. На этом же компьютере установлен KSC. Задача - получать обновления из интернета и распространять их на компьютеры  (тоже работают под ASTRA Linux внутри изолированной сети.
      Все настройки проверены и перепроверены многократно. Коннект с агентами есть. Данные сервер с рабочих станций получает. Обновление не идёт.
      Внутри этой сети есть старый комп с Windows 10 и  KES. Переключил агента на KSC под Astra Linux - обновления пошли
      На компьютере где установлен KSC также установлен KES и также отказывается обновляться.
      На всех АРМ стоит ASTRA Linux 1.7 в версии Воронеж.
      Готов предоставить любые дополнительные данные.
      Не понимаю в какую сторону смотреть.

       
×
×
  • Создать...