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

Segmentation fault при наследовании класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Ориентированное программирование в С++ Р. Лафоре http://www.cyberforum.ru/cpp-beginners/thread1494965.html
Доброго времени суток форумчане! Хочу вот закинуть себе книгу "Объектно-ориентированное программирование в С++" на Ipad, да вот только не могу найти эту книгу в формате epub, может у кого-то, что-то найдеться ? Буду безмерно благодарен!!! :drink:
C++ Численные методы решения нелинейного уравнения Доброе время суток, товарищи программисты. Есть задача: решить уравнение Cos(1.3x)=1/x. Численным методом. Написал программу для решения, но проблема в том, что надо найти первые n корней, не понимаю, как подобное можно реализовать. #include "stdafx.h" #include <iostream> #include <math.h> using namespace std; float m_ch(float, float, float); float your_function(float); int main() { http://www.cyberforum.ru/cpp-beginners/thread1494911.html
C++ Инициализация класса, возврат значений
Сама задача: Реализовать класс Rectangle. Класс должен хранить координаты, а так же длину и ширину прямоугольника. Предусмотреть инициализацию данного класса через конструктор по умолчанию и с помощью координат двух противоположных вершин. Общими должны быть методы, которые возвращают координаты прямоугольника (x1, x2, y1, y2), длину, ширину, площадь, а также методы позволяющие изменять...
C (СИ) Реверс строки
#include <stdio.h> #define MAXLINE 1000 int getline(char line, int lim); void reverse(char from, int lim); main() { int i, p; int len; char line;
C++ После выполнения (завершения) функции test переменная умрет, а что будет с переменной в Result? http://www.cyberforum.ru/cpp-beginners/thread1494884.html
class abc { public: int argc; char **argv; char **azColName; }; std::list<abc> Result;
C++ Задача по ООП Помогите решить задачу. Есть следующий набор типов документов: 1. Паспорт. Атрибуты: Фамилия, Имя, отчество, Номер, Серия, Дата выдачи. 2. Свидетельство о регистрации брака. Атрибуты: Дата регистрации, Орган регистрации, Паспорт мужа, Паспорт Жены. Написать программу по вводу и редактированию этих данных. Использовать ООП. В программе (БД) должно быть предусмотрено, что... подробнее

Показать сообщение отдельно
AlexVRud
420 / 149 / 37
Регистрация: 04.07.2014
Сообщений: 421
08.07.2015, 14:26     Segmentation fault при наследовании класса
Цитата Сообщение от SanchezPluz Посмотреть сообщение
У меня же есть наследование, следовательно device, driver и smgr должны быть также участниками класса Environment. Или я не прав?
Посмотри на результат работы следующего кода:

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
#include <iostream>
 
class Foo {
public:
  Foo() : x_(1.0) {             std::cerr << "DEBUG: Constructor Foo\n"; };
  virtual ~Foo() {              std::cerr << "DEBUG: Destructor Foo\n"; };
  void setX(double x) { x_=x;   std::cerr << "DEBUG: Foo::setX(" << x << ")\n"; };
  double getX() { return x_; };
protected:
  double x_;
};
 
class Bar: public Foo {
public:
  Bar() : y_(2.0) {             std::cerr << "DEBUG: Constructor Bar\n"; };
  virtual ~Bar() {              std::cerr << "DEBUG: Destructor Bar\n"; };
  void setY(double y) { y_=y;   std::cerr << "DEBUG: Bar::setY(" << y << ")\n"; };
  double getY() { return y_; };
protected:
  double y_;
};
 
int main() {
  std::cerr << "INFO: Start program\n";
 
  std::cerr << "INFO: Declare new object: foo\n";
  Foo foo;
  std::cerr << "INFO: foo.x=" << foo.getX() << "\n";
 
  std::cerr << "INFO: Declare new object: bar\n";
  Bar bar;
  std::cerr << "INFO: bar.x=" << bar.getX() << " bar.y=" << bar.getY() << "\n";
 
  std::cerr << "INFO: Set new value to foo.x\n";
  foo.setX(10.0);
  std::cerr << "INFO: foo.x=" << foo.getX() << "\n";
  std::cerr << "INFO: bar.x=" << bar.getX() << " bar.y=" << bar.getY() << "\n";
 
  std::cerr << "INFO: Set new value to bar.x\n";
  bar.setX(20.0);
  std::cerr << "INFO: foo.x=" << foo.getX() << "\n";
  std::cerr << "INFO: bar.x=" << bar.getX() << " bar.y=" << bar.getY() << "\n";
 
  std::cerr << "INFO: Set new value to bar.y\n";
  bar.setY(30.0);
  std::cerr << "INFO: foo.x=" << foo.getX() << "\n";
  std::cerr << "INFO: bar.x=" << bar.getX() << " bar.y=" << bar.getY() << "\n";
 
  return 0;
}
 
Текущее время: 05:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru