С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Разработать алгоритм и программу вычисления функции ln(x) https://www.cyberforum.ru/ cpp-beginners/ thread1900733.html
Ребят помогите пожалуйста сделать программу. Разработать алгоритм и программу вычисления функции ln(x) на интервале c установленным пользователем шагом h (0.1<=h<=0.001) изменения параметра. Верхняя граница N вводится пользователем (наложить ограничения). Результаты вычислений представить в виде таблицы.
Написать функцию (строковый парсер), воспроизводящую работу простейшего калькулятора C++
C++ Нюансы синтаксиса: что означает строчка кода ui->setupUi(this) ? Добрый день, объясните, пожалуйста на пальцах эту строчку: ui->setupUi(this) ? https://www.cyberforum.ru/ cpp-beginners/ thread1900728.html C++ Вытащить последний элемент динамической структуры https://www.cyberforum.ru/ cpp-beginners/ thread1900723.html
Предположим я уже создал структуру вида: 1 A 2 B 3 C Как мне собственно вытянуть С ? Т.к. выводит всегда (первый элемент) void Search_End (Line* &Last_Man) { while (Last_Man->next != NULL) { Last_Man = Last_Man->next ; }
C++ Задача о рюкзаке (метод ветвей и границ). Нужно разобраться в коде
Нужна программа для решения классической задачи о рюкзаке методом ветвей и границ для 10 переменных. Есть код (не мой), вроде работает, но разобраться в нем не могу. Если кто-то сталкивался с подобной задачей, поясните пожалуйста. В идеале, хотелось бы, чтобы ход решения пошагово записывался в файл. #include<iostream> #include<cstdio> #include<string> #include<conio.h>
C++ Найти начальное и конечное числа https://www.cyberforum.ru/ cpp-beginners/ thread1900719.html
Ребята помогите пожалуйста с этим заданием ! Нет идей как можно решить . Петя и Вася готовились к аттестации по теме "Умножение". Петя задумывал произведение всех натуральных чисел от A до B, а Вася старался угадать начальное и конечное числа. Помогите Васе найти значения A и B. Если решений несколько, выведите то, у которого A наименьшее. Входные данные Одно число – произведение чисел....
C++ Написать процедуру поиска суммы индексов первого и последнего нулевого элемента в одномерном массиве https://www.cyberforum.ru/ cpp-beginners/ thread1900693.html
Добрый день! Собственно такая задача: Написать процедуру поиска суммы индексов первого и последнего нулевого элемента в одномерном массиве. Все необходимые для вычисления данные передать в функцию через параметры. Результат вычисления вернуть через параметр (по ссылке). Как решать то мне понятно, вопрос возник с этой частью >Результат вычисления вернуть через параметр (по ссылке).
С чего начать изучение C++? C++
Привет!Я -Максим.Хочу или же, уже начал изучать с++ Этот язык мне показался интересным.Смотрю ролики на YouTube,а также читаю статейки на сайтах или в этом случае на форуме.Не могли бы, поделиться курсами по с++ хватит ссылки или ещё чего-то. На форуме лежит много литературы ,но она для тех кто уже что то да знает.А я пока что знаю равным счётом ничего) Можно кидать в личные сообщения,но...
C++ Создание одномерного массива из элементов двумерного https://www.cyberforum.ru/ cpp-beginners/ thread1900669.html
Здравствуйте, уважаемые форумчане! Поставлена задача: Сформировать одномерный массив Х из элементов матрицы, удовлетворяющих условию 0<Аij<1. Найти минимальный элемент массива Х У меня имеется: #include "stdafx.h" #include "iostream" #include "math.h" using namespace std;
C++ Зачем использовать чисто сишные средства в C++ коде? Не могу воспринимать в коде на си++ принтфы, и все же часто встречаю в примерах. Это принтф головного мозга? В них есть какое-то преимущество? К примеру: printf("\n\t----- S O R T -----\n"); - Вывод текста на экран fprintf(Ft,"\n\t----- S O R T -----\n"); - Запись такого же текста в файл результатов Ft https://www.cyberforum.ru/ cpp-beginners/ thread1900662.html
C++ Исправить код обхода двумерного массива
Добрый день! есть массив 6х6 заполненный рандомными числами от 10 до 100 движение в массиве начинается с нижней левой точки и идет или вправо или вверх в зависимости где число больше и заканчивается в верхней правой точке почему у меня когда условие ставлю точка massстановится равная 11 хотя по идее только mass должна быть равна 11 и если можно покажите как дальше двигаться по этому...
C++ Работа с указателями: как реализовать перевод строки после ввода определённого количества символов? Привет :) Пишу программу для умножения матриц. Хотелось бы чтобы матрица заполнялась красиво без помощи пользователя (чтобы он мог просто вводить подрят числа, а они уже сами формировали таблицу нужных размеров). Вот код. Пока без умножения. Написал пока только заполнение двух матриц. Заранее спасибо #include <iostream> #include <conio.h> #include <string> https://www.cyberforum.ru/ cpp-beginners/ thread1900638.html
0 / 0 / 0
Регистрация: 14.01.2017
Сообщений: 22
0

как сделать чтобы объект производного класса сам себя добавлял в список или массив указателей базового класса? - C++ - Ответ 10007391

15.01.2017, 15:26. Показов 1589. Ответов 4
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
я хотел так, но программа просто падает
C++
1
2
3
4
5
6
7
8
9
10
void Student::add(Base** head) {
    cout << "I here" << endl;
    this->setName(); //все функции сет просто берут данные из клавиатуры
    this->setAge();
    this->setSex();
    this->setFakult();
    this->setKafedr();
    Base::addElement(); //инкремент статического элемента
    *(head + number) = this;
}
падает в main сразу после вывода "create"
C++
1
2
3
4
5
    
    Base* a;
    static Student *b;
    cout << "create" << endl;
    b->add(&a);
если нужно весь код, пишите

Добавлено через 14 минут
добавил весь код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//sourse.cpp
#include <iostream>
#include <Windows.h>
#include "Base.h"
#include "Student.h"
using namespace std;
int main() {
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    
    Base* a;
    static Student *b;
    cout << "create" << endl;
    b->add(&a);
    
 
 
 
    system("pause>>void");
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#pragma once
 
#include <iostream>
#include <string>
using namespace std;
 
extern string STATUS[3];
class Base
{
protected:
    int age;
    string sex;
    string name;
    string fakult;
    string kafedr;
    float salary; //заробітня плата або стипендія +
    string status; //статус особи в університеті    +
    static int number; //рахує кількість об'єктів
public:
    Base();
    Base(int, string, string, string, string);
    Base(const Base&);
    //далі сети
    void setAge();
    void setSex();
    void setName();
    virtual void setFakult() = 0;
    virtual void setKafedr() = 0;
    virtual void setSalary() = 0;
    virtual void setStatus() = 0;
    static void addElement();
    static void deleteElement();
    static void deleteAllElement();
    //далі ґети
    int getAge();
    string getSex();
    string getName();
    string getFakult();
    string getKafedr();
    float getSalary();
    string getStatus();
    //функція додавання себе у список та вивід списку ( все по покажчику на базовий клас
    virtual void add() = 0;
    //virtual void show() = 0;
    virtual ~Base();
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#include "Base.h"
int Base::number = 0;
Base::Base() { 
    age = 0;
    sex = "";
    name = "";
    fakult = "";
    kafedr = "";
    salary = 0;
    status = "";
    
}
Base::Base(const Base& ob) {
    age = ob.age;
    sex = ob.sex;
    name = ob.name;
    fakult = ob.fakult;
    kafedr = ob.kafedr;
    salary = ob.salary;
    status = ob.status;
    
}
Base::Base(int Age, string Sex, string Name, string Fakult, string Kafedr) {
    age = Age;
    sex = Sex;
    name = Name;
    fakult = Fakult;
    kafedr = Kafedr;
}
void Base::setName() {
    cout << "Введіть ім'я даної особи: ";
    cin.get();
    getline(cin, name);
}
void Base::setAge() {
    cout << "Введіть вік " << this->getName() << ": ";
    cin >> age;
}
void Base::setSex() {
    cout << "Введи 0, якщо " << this->getName() << "жінка, введи будь-яке число, якщо чоловік: ";
    int temp;
    cin >> temp;
    if (temp == 0)
        sex = "жінка";
    else
        sex = "чоловік";
}
void Base::addElement() {
    Base::number++;
}
void Base::deleteElement() {
    Base::number--;
}
void Base::deleteAllElement() {
    Base::number = 0;
}
float Base::getSalary() {
    return salary;
}
string Base::getStatus() {
    return status;
}
string Base::getFakult() {
    return fakult;
}
string Base::getKafedr() {
    return kafedr;
}
int Base::getAge() {
    return age;
}
string Base::getSex() {
    return sex;
}
string Base::getName() {
    return name;
}
Base::~Base() {
    
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#pragma once
#include <iostream>
#include <string>
#include "Base.h"
 
using namespace std;
class Student :
    public Base
{
    
public:
    Student();
    Student(int, string, string, string, string);
    Student(const Student&);
    virtual void setStatus();
    virtual void setSalary();
    virtual void setFakult();
    virtual void setKafedr();
    virtual void add(Base**);
    //virtual void show();
    virtual ~Student();
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include "Student.h"
#include <iostream>
#include <string>
using namespace std;
 
Student::Student() {
    age = 0;
    sex = "";
    name = "";
    fakult = "";
    kafedr = "";
    this->setStatus();
    
    
}
Student::Student(int Age, string Sex, string Name, string Fakult, string Kafedr) {
    age = Age;
    sex = Sex;
    name = Name;
    fakult = Fakult;
    kafedr = Kafedr;
    this->setStatus();
}
Student::Student(const Student& ob) {
    age = ob.age;
    sex = ob.sex;
    name = ob.name;
    fakult = ob.fakult;
    kafedr = ob.kafedr;
    salary = ob.salary;
    status = ob.status;
    
}
void Student::setStatus() {
    status = "студент";
    this->setSalary();
}
void Student::setSalary() {
    salary = 816.75;
}
void Student::setFakult() {
    cout << "Введи назву факультета на якому навчається данний студент: ";
    cin.get();
    getline(cin, fakult);
}
void Student::setKafedr() {
    cout << "Введи кафедру: ";
    cin.get();
    getline(cin, kafedr);
}
void Student::add(Base** head) {
    cout << "I here" << endl;
    this->setName();
    this->setAge();
    this->setSex();
    this->setFakult();
    this->setKafedr();
    Base::addElement();
    *(head + number) = this;
 
}
/*
void Student::show() {
    cout << "Інформація про студента:" << endl;
    cout << "\tім'я:";
}
*/
Student::~Student() {
    
}


Вернуться к обсуждению:
как сделать чтобы объект производного класса сам себя добавлял в список или массив указателей базового класса? C++
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.01.2017, 15:26
Готовые ответы и решения:

Как сложить объект базового класса с объектом производного(наследуемого класса)
Как умножить объект базового класса с объектом производного(наследуемого класса): ozenka - объект...

Почему объект производного класса не видит префиксный оператор из базового класса?
Короче создал я базовый класс с перегруженным префиксным оператором ++. Потом чтоб его...

Указатель на объект базового класса и адрес объекта производного класса
Пример кода: class Class1 { public: Class1(int x) { j = new int; *j = x; }...

Создать массив указателей базового класса и присвоить ему адреса каждого из екземпляров класса
Всем привет. Есть условие задачи: Дан базовый класс Base у которого есть метод my_name, метод...

4
15.01.2017, 15:26
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.01.2017, 15:26
Помогаю со студенческими работами здесь

Вызов метода производного класса через обращение к методу базового класса
Добрый день. Изучаю основы ООП, наткнулся на проблему. Если создавать классы внутри main.cpp,...

Создание указателя типа базового класса на экземпляр производного класса
Добрый день! Иногда видел коды, где создавался указатель типа базового класса на объект класса -...

Вызвать конструктор производного класса без конструктора базового класса
Здравствуйте! У меня есть базовый класс треугольник и производный класс равносторонний...

Определить обработчик исключений на преобразование указателя базового класса на указатель производного класса
Класс В является производным от класса А. Определить обработчик исключительной ситуации на...

0
Новые блоги и статьи
Что такое CQRS и как это реализовать на C# с MediatR
InfoMaster 15.01.2025
Концепция CQRS и её роль в современной разработке В современном мире разработки программного обеспечения архитектурные паттерны играют ключевую роль в создании масштабируемых и поддерживаемых. . .
Как настроить CI/CD с Azure DevOps
InfoMaster 15.01.2025
CI/ CD, или непрерывная интеграция и непрерывное развертывание, представляет собой современный подход к разработке программного обеспечения, который позволяет автоматизировать и оптимизировать процесс. . .
Как настроить CI/CD с помощью Jenkins
InfoMaster 15.01.2025
Введение в CI/ CD и Jenkins В современной разработке программного обеспечения непрерывная интеграция (CI) и непрерывная доставка (CD) стали неотъемлемыми элементами процесса создания качественных. . .
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru