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

Абстрактный тип данных - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Крестики нолики http://www.cyberforum.ru/cpp-beginners/thread831187.html
Всем доброе утро) Написал программу, только не могу найти там ошибку в проверке. Когда надо проверить кто выйграл, по диагоналям строкам столбцам.. #include "stdafx.h" #include <iostream> #include <fstream> #include "math.h" using namespace std;
C++ mysql импорт Подскажите, как правильно сделать импорт sql в бд test? функция чтения файла: int main() { fstream file("sql.sql",ios::in); string text_str; if(!file) { cout<<"File could not be opened!"; http://www.cyberforum.ru/cpp-beginners/thread831185.html
C++ Программа по поиску суффиксов у прилагательных
Даны прилагательные с суффиксами (1) -н(ый), (2) -ни(ий), (3) -шн(ый), (4) -шн(ий); нужно составить программу по схеме: 1.ввод прилагательного; 2.выделение суффикса; 3.сравнение суффикса прилагательного с группами. 4.присваивание прилагательному одной из четырех групп. 5.вывод сообщения с номером группы. можете помочь с написанием программы.
C++ Структуры.Сортировка по именам
Здравствуйте,столкнулся с проблемой,как отсортировать имена в алфавитном порядке,ни разу не сталкивался,не знаю как начать,помогите пожалуйста. #include <iostream> #include <stdio.h> using namespace std; struct student {char fio; int ball_physics; int ball_rus; int ball_math; }; int main()
C++ Fatal error C1014: слишком много включаемых файлов http://www.cyberforum.ru/cpp-beginners/thread831121.html
вот код, пишет что "1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\math.h(2) : fatal error C1014: слишком много включаемых файлов: глубина = 1024" #include <iostream> #include <math.h> double p,q,r,T1,T2,S1,S2,n,h,Int,R4; double I(double t) { return pow(p*pow(t,2)+q*t+r,2); }
C++ правильная перегрузка операторов Доброго времени суток. Я пишу класс матриц для себя. Возникла проблема при перегрузке операторов. Что должен возвращать оператор + и как это совместить с оператором = ? В моем коде запись c=a+b;(где c,a,b-переменные типа матрицы) работать не будет, потому что оператор + возвращает значение,а оператор = принимает ссылку. Как избежать этой проблемы? Вот код: class matrix { public:... подробнее

Показать сообщение отдельно
lemegeton
 Аватар для lemegeton
2910 / 1339 / 133
Регистрация: 29.11.2010
Сообщений: 2,720
08.04.2013, 08:42     Абстрактный тип данных
Цитата Сообщение от IrinaCk Посмотреть сообщение
Создать абстрактный тип данных - человек
Абстрактный тип данных это такой тип данных, который предоставляет функции для работы с данными, но не реализует их.

Абстрактный тип данных:
C++
1
2
3
4
class Human {
 public:
  virtual const std::string &getName() const = 0;
};
Не-абстрактный тип данных:
C++
1
2
3
4
5
6
class Human {
 public:
  const std::string &getName() const { return name; }
 private:
  std::string name;
};
Цитата Сообщение от IrinaCk Посмотреть сообщение
структура
Абстрактный тип данных -- структура!? В смысле, что структурой удобнее, потому что методы по-умолчанию публичные?

Цитата Сообщение от IrinaCk Посмотреть сообщение
Определить функцию, которая устанровит имя и возраст по умолчанию.
С одной стороны, можно сделать класс, который будет абстрактным, но реализовывать некую функцию, с другой стороны, если эта функция единственная, то смысл как-бы теряется.



Фиг знает, короче, что вам там надо сделать.
Наверно, вот такой код не будет сильно противоречить условиям.
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
#include <iostream>
#include <string>
 
struct Human {
 public:
  virtual ~Human() = 0;
  const std::string &getName() const { return name; }
  int getAge() const { return age; }
  void setDefaultData() {
    name = "default";
    age = 0;
  }
 private:
  std::string name;
  int age;
};
Human::~Human() {};
 
 
struct Man : public Human {
};
 
int main(int argc, char *argv[]) {
  //Human h; // не получится, класс абстрактен
  Man m; // получится
 
  std::cin.get();
  return 0;
}
 
Текущее время: 08:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru