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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
papochka
33 / 33 / 2
Регистрация: 14.11.2009
Сообщений: 137
#1

classes, конструкторы.. - C++

12.02.2011, 11:37. Просмотров 344. Ответов 3
Метки нет (Все метки)

Привет..

В общем такая фигня. Вот код:
Employee.h:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Employee
{
public:
    Employee(int ages, int yearsOfServices, int salarys);
    ~Employee();
    Employee();
 
    int getAge() const; 
    int getYearsOfService() const;
    int getSalary() const;
 
    void setAge(int ag);
    void setYearsOfService(int year);
    void setSalary(int salar);
 
private:
    int age;
    int yearsOfService;
    int salary;
};
Employee.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
#include "Employee.h"
 
Employee::Employee(int ages, int yearsOfServices, int salarys)
{
    age = ages;
    yearsOfService = yearsOfServices;
    salary = salarys;
}
 
Employee::~Employee() { }
 
int Employee::getAge() const
{
    return age;
}
 
int Employee::getYearsOfService() const 
{
    return yearsOfService;
 
}
 
int Employee::getSalary() const 
{
    return salary;
}
 
void Employee::setAge(int ag)
{
    age = ag;
}
 
void Employee::setYearsOfService(int year)
{
    yearsOfService = year;
}
 
void Employee::setSalary(int salar)
{
    salary = salar;
}
main.cpp:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include "Employee.h"
 
 
int main()
{
    Employee Liza(30,10,1000);
    int ages = Liza.getAge();
    int yearsOfWork = Liza.getYearsOfService();
    int salars = Liza.getSalary();
 
    std::cout << ages << yearsOfWork << salars << std::endl;
    
        Employee Simona; // конструктор по умолчанию
    Simona.setAge(50);
    Simona.setSalary(5000);
    Simona.setYearsOfService(1);
    std::cout << Simona.getAge() << Simona.getYearsOfService() << Simona.getSalary() << std::endl;
    std::cin.get();
    return 0;
}
Начал разбираться с классами. Возникла проблемка. Конструктор с параметрами - работает. Все хорошо. Добавил пустой - ошибки на этапе линковки, я так понимаю:
Код
1>------ Build started: Project: classes, Configuration: Debug Win32 ------
1>Compiling...
1>classes.cpp
1>Linking...
1>classes.obj : error LNK2001: unresolved external symbol "public: __thiscall Employee::Employee(void)" (??0Employee@@QAE@XZ)
1>C:\Documents and Settings\Администратор\Мои документы\Visual Studio 2008\Projects\classes\Debug\classes.exe : fatal error LNK1120: 1 unresolved externals
1>Build log was saved at "file://c:\Documents and Settings\Администратор\Мои документы\Visual Studio 2008\Projects\classes\classes\Debug\BuildLog.htm"
1>classes - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Может, я что-то не так сделал?

На названия переменных не смотрите. Ночь не спал..
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.02.2011, 11:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос classes, конструкторы.. (C++):

Visual C/C++ Classes - C++
Уважаемые программисты! :gsmile: Помогите, пожалуйста, разобраться с программой. Цель такова:___________________________________ ...

push_back() and vector of classes - C++
Добрый вечер! Есть код следующего вида: class topic_message { public: char* name_topic; message ** messages; ...

STL & classes - C++
Товарищи, выручайте. Ситуация следующая. Имеется два *.h файла, в каждом файле отдельный класс, которые взаимодействуют друг с другом....

Exception Handling Classes - C++
Задача: Write a program that prompts the user to enter a person’s date of birth in numeric form such as 8-27-1980. The program then...

Ошибка дружественной фунци: a managed type cannot have any friend functions/classes/interfaces - C++
public ref class Person { friend ofstream&amp; operator&lt;&lt;(ofstream&amp; o,Person p); почму выводит ошибку : a managed type cannot have...

Конструкторы - C++
Объясните на пальцах, для чего нужны конструкторы?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
lemegeton
2923 / 1352 / 135
Регистрация: 29.11.2010
Сообщений: 2,725
12.02.2011, 11:41 #2
В упор не вижу в Employee.cpp конструктора по-умолчанию. В заголовке есть, а тела нет.
papochka
33 / 33 / 2
Регистрация: 14.11.2009
Сообщений: 137
12.02.2011, 11:46  [ТС] #3
Упс, простите...
Недочитал...
Просто, если не задавать конст. копирования, то и по умолчанию не указывается.. Вот я и запарился..
Спасибо!

Стоило добавить только в Employee.cpp
C++
1
Employee::Employee() {} ;
Поправьте, если я ошибаюсь..
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
12.02.2011, 11:47 #4
lemegeton, не вы один . Вот компилятор его тоже не видит, о чём чётко и говорит. Почему-то даже не совсем новички в упор не хотят читать столько полезные сообщения столь умной программы.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2011, 11:47
Привет! Вот еще темы с ответами:

Конструкторы С++ - C++
Всем привет, помогите довести программу до ума :) Заранее благодарю откликнувшихся :) ...

Конструкторы - C++
class A { public: A() : a(10) // инициализация a { b = 3; // присвоение b } int a, b; };

конструкторы - C++
У меня вопрос: если программа с конструкторами, то нужно ли создавать объект в программе? И по какому синтаксису вызвать функцию, описанную...

Конструкторы - C++
Пытаюсь разработайте класс представления окна на экране компьютера. В состав должны войти следующие конструкторы: -конструктор по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.02.2011, 11:47
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru