Форум программистов, компьютерный форум CyberForum.ru

Наследование и перегрузка операторов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ некоретно изменяет буквы http://www.cyberforum.ru/cpp-beginners/thread843056.html
подскажите пожалуйста, вот в моем коде есть базовый клас в котором есть метод изменения регистра символа, я проверял он работает хорошо как надо из маленькой буквы делает большую и тд, вопщем меняет как надо и захотел на его основе зделать производный клас в котором будет метод изменения регистра строки, тоесть я в него отправляю строку и с помощю метода базового класа через цикл поси мвольно...
C++ Метод получения значения текущего элемента из списка Есть класс список. Надо написать метод получения значения текущего элемента из списка. Как это сделать я не знаю( Вот класс #pragma once struct node { double val; node *next; http://www.cyberforum.ru/cpp-beginners/thread843055.html
Выводит какую то белиберду (Логический калькулятор) C++
Программа легче не бывает... Логический калькулятор... но не пойму что то не выводит в функциях void invers(); и void pbvdiz(); #include <tchar.h> #include <stdio.h> #include <conio.h> #include <iostream.h> #include <windows.h> #include <locale.h>
C++ Что учить дальше?
Всем привет! Выучил с++, ооп ,но пишу только консольные программы. Вообщем хочется развиваться, подскажите пожалуйста что учить дальше? Возможно openGL, MFC, Qt, WinAPI ... ? Что надо знать для того что бы пойти на джуниор-программиста?
C++ как правильно в программке записать условие нахождения бесконечности? http://www.cyberforum.ru/cpp-beginners/thread843025.html
в примере y=exp(x)/x, где x принимает значения от -6 до + 1 c шагом 1 необходимо определить при каких x функция y=0 и бесконечности. получается цикл. для нахождения y=0 легко: {float y,x; ....... for( x=-6;x<=1;x++) y=exp(x)/x; if (y==0) printf("x=%.1f\n",x1);
C++ Работа со строками и файлами Ребята срочно помогите плиз, нужно написать программу которая считывает текст из файла и выводит на экран все его предложения в обратном порядке.(на языке с++) подробнее

Показать сообщение отдельно
stima
430 / 285 / 16
Регистрация: 22.03.2011
Сообщений: 928
Завершенные тесты: 1
20.04.2013, 20:11     Наследование и перегрузка операторов
Цитата Сообщение от Jadzia Посмотреть сообщение
Lecturer(const std::string& name, const std::string& surname, ubyte age)
: Human(name, surname, age) {}
Лектор тоже имеет имя, фамилию, и возраст.

Цитата Сообщение от Jadzia Посмотреть сообщение
: Human(name, surname, age) {}
Это перенаправление переменных в конструктор предка, так как эти переменные переменные предка.

Цитата Сообщение от Jadzia Посмотреть сообщение
Lecturer(const std::string& name, const std::string& surname,
ubyte age, const std::string& speciality)
: Human(name, surname, age), _speciality(speciality) {}
Это второй перегруженный конструктор, как Вы видите он принимает еще и специальность (например спец по квантовой физике). Эта переменная из головы, вы можете добавить свои (например лектор может быть доктором/профессором или доцентом или иметь/не иметь публикаций, тип публикаций и т.д.), я написал, что это приблизительный интерфейс.

Цитата Сообщение от Jadzia Посмотреть сообщение
Зачем 2 раза это писать?? Разве нельзя сразу и только 2ю запись?
Можно .... можно еще и так. Я просто привел пример.
C++
1
2
3
Lecturer(const std::string& name, const std::string& surname,
ubyte age, const std::string& speciality = std::string()) // это переменная по умолчанию
: Human(name, surname, age), _speciality(speciality) {}
где
C++
1
speciality = std::string()
говорит о том, что лектор может(тут главное МОЖЕТ) не иметь специальности, например еще не сдал докторскую.
Например
C++
1
2
Lector lector_1("Иван", "Иванович", 42, "Квантовая физика");
Lector lector_2("Василий", "Васильевич", 21); // заметьте 4 переменной нет, она будет проинициализирована значением по умолчанию
Цитата Сообщение от Jadzia Посмотреть сообщение
Добавлено через 1 минуту
И в классе Person:
typedef unsigned char ubyte;
Если Вы не знаете что это замените на int, а вообще это из целей экономии памяти, так как возраст человека вряд ли превысит 255 лет.

Цитата Сообщение от Jadzia Посмотреть сообщение
И зачем эта строка? ->
std::string speciality() const { return _speciality; }
Узнать какая у лектора специальность, например, студент захочет писать доклад по определенному предмету ему нужно будет знать какой лектор ему может помочь с этим.


п.с. Я так понимаю вы вообще не знакомы с ООП, а также с ООП в С++. Почитайте поначалу книги.
 
Текущее время: 05:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru