Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.10.2011, 15:16   #1
Aaron Cash
Новичок
Джуниор
 
Регистрация: 11.10.2011
Сообщений: 1
По умолчанию Не компилируется программа из книги Дейтела "Как программировать на с++"

Помогите, пожалуйста, решить проблему. Программа из раздела книги "Отделение интерфейса от реализации". При компиляции(использую visual c++ 2008) возникают ошибки:

1) error LNK2019: unresolved external symbol "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall GradeBook::getCourseName(void)" (?getCourseName@GradeBook@@QAE?AV?$ basic_string@DU?$char_traits@D@std@ @V?$allocator@D@2@@std@@XZ) referenced in function _main
2)error LNK2019: unresolved external symbol "public: __thiscall GradeBook::GradeBook(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (??0GradeBook@@QAE@V?$basic_string@ DU?$char_traits@D@std@@V?$allocator @D@2@@std@@@Z) referenced in function _main

Текст программы следующий:

// файл GradeBook.h
// определение класса GradeBook

#include <string>
using std::string;

// Определение класса GradeBook
class GradeBook
{
public:

GradeBook(string); // конструктор инициализирующий courseName
void setCourseName(string); // устанавливает courseName
string getCourseName(); // получает название курса
void displayMessage(); // выводит сообщение приветствия

private:
string courseName; // название курса для данного GradeBook

};


// файл gradebook.cpp
// Определение элемент-функций класса GradeBook

#include <iostream>
using namespace std;

#include "GradeBook.h"

GradeBook::GradeBook(string name) // конструктор инициализирует courseName переданной строкой
{
setCourseName(name); // инициализировать вызовом set-функции
}

void GradeBook::setCourseName(string name) // функция для установки названия курса
{
courseName = name;
}

string GradeBook::getCourseName() // функция для получения названия курса
{
return courseName;
}

void GradeBook::displayMessage() // вывести сообщение приветствие пользователю GradeBook
{
cout << "Wellcome to the grade book for\n" << getCourseName();
cout << "!" << endl;
}


// файл CourseC++.cpp
// Демонстрация класса GradeBook после отделения его интерфейса
// от реализации

#include <iostream>
using namespace std;

#include "GradeBook.h" // включить определение класса GradeBook


int main()
{
// создать два объекта GradeBook
GradeBook gradeBook1("CS101 Introduction to C++ Programming");
GradeBook gradeBook2("CS102 Data Structures in C++");

// вывести исходное значение сourseName для каждого GradeBook
cout << "gradeBook1 created for:" << gradeBook1.getCourseName() << endl;
cout << "gradeBook2 created for:" << gradeBook2.getCourseName() << endl;


cout << endl;

return 0;
}

Последний раз редактировалось Aaron Cash; 11.10.2011 в 16:07.
Aaron Cash вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обойти "преобразование типа из "string" в "float" невозможно" lexluter1988 Помощь студентам 1 07.08.2010 12:23
Паскаль. 2 задачи (Программа "Верификация","КАК БРИГАДИРУ РАЗДЕЛИТЬ ЗАРОБОТАННЫЕ ДЕНЬГИ") Valik102 Помощь студентам 3 20.05.2009 20:42
две задачи(программа"верификация" , "как бригадиру разделить зароботаные деньги) Valik102 Паскаль, Turbo Pascal, PascalABC.NET 0 13.05.2009 23:32
две задачи(программа"верификация" , "как бригадиру разделить зароботаные деньги) Valik102 Паскаль, Turbo Pascal, PascalABC.NET 0 13.05.2009 18:13