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

Невозможно создать экземпляр абстрактного класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нахождение суммы n первых членов последовательности 1/2+3/4+5/6+... http://www.cyberforum.ru/cpp-beginners/thread1748097.html
написать программу (C++) нахождения суммы n первых членов последовательности 1/2+3/4+5/6...
C++ Функции: для каждого числа последовательности найти количество цифр "5" Вводится последовательность из N целых чисел. Для каждого числа последовательности найти количество цифр 5 (функцией оформить определение количество цифр 5) http://www.cyberforum.ru/cpp-beginners/thread1748089.html
C++ Найти сумму n членов последовательности
Написатьпрограму(C++) нахождения суммы n первых членов последовательности 1/2+3/4+5/6...
C++ Паттерн Class Table Inheritance на с++
Помогите понять, что делает этот паттерн, если кто сталкивался и реализовывал/находил примеры на с++ - буду очень благодарен за помощь. Читал на сайте Мартина Фаулера и не совсем понял, как можно его реализовать на с++. Заранее спасибо! P.S. Буду благодарен за любую литературу или ссылку, где можно почитать про этот паттерн, ибо сколько не искал - как-то мало инфы про него на анл, что уже...
C++ N - цифра числа Пи http://www.cyberforum.ru/cpp-beginners/thread1748042.html
Привет всем, короче ребята, дана задача вычислить n- цифу числа пи, погуглил немного нашёл несколько алгоритмов. А точнее 2 таких вот конкретных, которые работают в 10-й системе счисления (BBP алгоритм не катит), один из них есть готовый код, но он медленный а другой расписан вот тут http://numbers.computation.free.fr/Constants/Algorithms/nthdigit.pdf короче по нему наговнокодил на сипипи и...
C++ Построение точек Здравствуйте. Требуется помощь в написании программы Даны натуральные числа n, x1, y1, ... xn, yn. Построить точки с координатами xi, yi: 1) расположенные в верхней половине экрана 2) расположенные в нижней половине экрана С графическими программами никогда дела не имел. Можете хотя бы подсказать к это можно реализовать? Заранее благодарен подробнее

Показать сообщение отдельно
Васи
0 / 0 / 0
Регистрация: 19.06.2014
Сообщений: 97

Невозможно создать экземпляр абстрактного класса - C++

28.05.2016, 21:13. Просмотров 175. Ответов 3
Метки (Все метки)

work.cpp

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
#include "student.h"
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
#include <string>
#include <iostream>
#include <fstream>
 
using namespace std;
 
int main()
 
{
    string strWork();
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
// //////////////////////////////////////////////////////////робота з класом студент
//  створюємо три екземпляри похідного класу class Student  :  
//  екземпляр stud1 - використовуючи конструктор з параметрами
//  екземпляр stud4 - використовуючи конструктор копіювання,
//  і призначаємо студенту стипендію
//  екземпляр stud3 - використовуючи конструктор за умовчанням, без заповнення
 
  class Telephone stud1=Telephone("Fox", "Nicolia", "Nic", 1996, 575476, "Черінігів", "Україна");             // Створити екземпляр класу
//  виводимо вміст членів класу
  cout <<  "Ім'я - " <<  stud1.getName() << endl << " Призвіще - "     << stud1.getSName()     << endl; 
  cout <<  "Номер -  " <<  stud1.getNomer_telephone()  << endl << " Місто -  " <<  stud1.getTown() << endl; 
//////
  stud1.Show();    // роздрукувати стать, ФІБ, вік студента – наслідуваний метод class Person
 
  class Telephone stud4=stud1;        // скопіювати вміст екземпляру класу в новий екземпляр
  cout  << endl  << "Ekzemplyar new class: " << endl; 
  stud4.setTown("Київ");        // установити звичайну стипендію
//  виводимо вміст членів класу
  cout <<  "Ім'я - " <<  stud1.getName() << " Призвіще - "     << stud1.getSName()     << endl; 
  cout <<  "Номер -  " <<  stud1.getNomer_telephone()  << " Місто -  " <<  stud1.getTown() << endl;  
//////
  stud4.Show();
 
  class Telephone stud3=Telephone( );       // Створити екземпляр класу
  cout  << endl << "Instance of the class - garbage" << endl; 
  stud3.Show();    
 
  system("PAUSE");
  return 0;
}
person.h
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
#include <string>
#include <iostream>
#include <fstream>
 
using namespace std;
 
class Person
{
public:
    virtual string strWork() = 0;
    string strSName;
    string strName;
    string strPatron;
    int iData;
    string strJob;
 
//    Person(const Person &Person) 
//    {
    //    this -> strSName = Person.strSName;
    //    this -> strName = Person.strName;
    //    this -> strPatron = Person.strPatron;
    //    this -> iAge = Person.iAge;
    //    this -> strRate = Person.strRate;
//  };
 
public:
    Person() {};
 
    Person(char *chSName, char *cName, char *chPatron, int iData);
 
    Person(const Person &personOther)
    {
        setSName( (char*)personOther.strSName.c_str() ); 
        setName( (char*)personOther.strName.c_str() );
        setPatron( (char*)personOther.strPatron.c_str() );
        setData( (int)personOther.iData ); 
    };    
    virtual ~Person() { };    
//  змінити елементи екземпляру класу                            
    void setSName(char *chSName)        {this->strSName=chSName;}
    void setName(char *chName)          {this->strName=chName;}
    void setPatron(char *chPatron)      {this->strPatron=chPatron;}
    void setData(int iData)             {this->iData=iData;}
 
//  отримати елементи екземпляру класу
    string getSName()       const {return strSName;}
    string getName()        const {return strName;}
    string getPatron()      const {return strPatron;}
    int getData()           const {return iData;}
};
 
Person::Person(char *chSName, char *chName, char *chPatron, int iData=0)
{
     setSName(chSName);
     setName(chName);
     setPatron(chPatron);
     setData(iData);
}
 
class Telephone: public Person
{
    int iNomer_telephone;
    string strTown;
    string strCountry;
 
public:
    Telephone() {};
 
    Telephone(char *chSName, char *chName, char *chPatron, int iData, 
        int iNomer_telephone, char *chTown, char *chCountry);
 
    Telephone(const Telephone &telephoneOther) : Person()
    {
        setNomer_telephone( (int)telephoneOther.iNomer_telephone ); 
        setTown( (char*)telephoneOther.strTown.c_str() );
        setCountry( (char*)telephoneOther.strCountry.c_str() );
    };    
    virtual ~Telephone() { };    
//  змінити елементи екземпляру класу                            
    void setNomer_telephone(int iNomer_telephone)    {this->iNomer_telephone=iNomer_telephone;}
    void setTown(char *chTown)            {this->strTown=chTown;}
    void setCountry(char *chCountry)    {this->strCountry=chCountry;}
//  отримати елементи екземпляру класу
    int getNomer_telephone()        const {return iNomer_telephone;}
    string getTown()                const {return strTown;}
    string getCountry()             const {return strCountry;}
 
// Друк інформацію про студента 
    void  Show()
    {
        cout << getSName() << " " << getName() << " " << getPatron() << " " << getNomer_telephone() << " " << getTown();
        cout << getCountry() << " " << endl;
    }
};
 
//                 Опис методів похідного  класу
// Конструктор опис, змінні  char - не пусті значення, інші або  = 0, або всі задані     
    Telephone::Telephone(char *chSName, char *chName, char *chPatron, int iData, 
        int iNomer_telephone, char *chTown, char *chCountry)  :  Person(chSName, chName, chPatron, iData)  
 // типи змінних співпадають з типами у базовому класі
    {
        //setSName(chSName);
        //setName(chName);
        //setPatron(chPatron);
        //setData(iData);
        setNomer_telephone(iNomer_telephone);
        setTown(chTown);
        setCountry(chCountry);
    }
Возникают ошибки:

Ошибка 5 error C3861: Telephone: идентификатор не найден C:\Users\Ніколя\Documents\Visual Studio 2010\Projects\Лабораторна робота 8\code\work.cpp 26
Ошибка 9 error C3861: Telephone: идентификатор не найден C:\Users\Ніколя\Documents\Visual Studio 2010\Projects\Лабораторна робота 8\code\work.cpp 42
Ошибка 3 error C2259: Telephone: невозможно создать экземпляр абстрактного класса C:\Users\Ніколя\Documents\Visual Studio 2010\Projects\Лабораторна робота 8\code\work.cpp 26
Ошибка 4 error C2259: Telephone: невозможно создать экземпляр абстрактного класса C:\Users\Ніколя\Documents\Visual Studio 2010\Projects\Лабораторна робота 8\code\work.cpp 26
Ошибка 6 error C2259: Telephone: невозможно создать экземпляр абстрактного класса C:\Users\Ніколя\Documents\Visual Studio 2010\Projects\Лабораторна робота 8\code\work.cpp 33
Ошибка 7 error C2259: Telephone: невозможно создать экземпляр абстрактного класса C:\Users\Ніколя\Documents\Visual Studio 2010\Projects\Лабораторна робота 8\code\work.cpp 42
Ошибка 8 error C2259: Telephone: невозможно создать экземпляр абстрактного класса C:\Users\Ніколя\Documents\Visual Studio 2010\Projects\Лабораторна робота 8\code\work.cpp 42

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