Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Kiss31
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 25
1

Тест для класса

29.01.2014, 22:45. Просмотров 378. Ответов 3
Метки нет (Все метки)

Хочу протестировать класс Address.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
//Faile Address.h
#ifndef Address_dot_h
#define Address_dot_h 1
class Address
{
public:
//Konstruktor
Address();
//Functions have access to fields
const char*lastname()const{return lastname_;}
void       lastname(const char*);
 
////////////////////////////////////////////////
const char*firstname()const{return firstname_;}
void       firstname(const char*);
////////////////////////////////////////////////
const char*phone()const{return phone_;}
void       phone(const char*);
/////////////////////////////////////////////////
const char*address()const {return address_;}
void       address(const char*);
///////////////////////////////////////////////////
///////////////////////////////////////////////////
private:
//Lenghts of string are numbered;
enum{namelen=16,phonelen=16,addrlen=100};
// Fields of date
char lastname_[namelen];
char firstname_[namelen];
char phone_[phonelen];
char address_[addrlen];
};
#endif//Address_dot_h
Для этого написал в VC програмку

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"
#include<iostream>
#include "Address.h"
using namespace std;
void dum(const Address &a)
{
std::cout<<a.firstname()<<''<<a.lastname()<<'\n'
         <<a.address()<<'\n'<<a.phone()<<'\n'
         <<std::endl;
}
  
int main()
{
Address a;
a.lastname("Smith");
a.firstname("Joan");
a.phone("4446674");
a.address("Veri roud");
a.dum;
system("pause");
    
return 0;
}
Но VC ругается такими словами:
Код
1>------ Build started: Project: mama, Configuration: Debug Win32 ------
1>  mama.cpp
1>mama.cpp(9): error C2137: empty character constant
1>mama.cpp(24): error C2039: 'dum' : is not a member of 'Address'[/U][/B]
1>          C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\Address.h(5) : see declaration of 'Address'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Как можно исправить это дело???
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2014, 22:45
Ответы с готовыми решениями:

тест программы (класса)!
здраствуйте! вот задача на построение класса , я её зделал ,а тестик невыходит никак довести до...

Создать для класса виртуальный метод, возвращающий уникальный идентификатор класса
В курсаче по ООП сказано создать для класса виртуальный метод,возвращающий уникальный идентификатор...

Перегрузка оператора >> для дочернего класса от базового виртуального класса
Доброго вам времени суток! Программирую на С++ не давно, в связи с отсутствием должного времени на...

Реализовать оператор= для присваивания объекта класса-потомка объекту базового класса
Есть два класса A и B, причем класс B является потомком A. Как реализовать следующее: obj_A = obj_B...

Создать конструктор копий и оператор присваивания для класса компьютер и члена класса марка
Создать конструктор копий и оператор присваивания для класса компьютер и члена класса марка. ...

3
zelim
77 / 77 / 9
Регистрация: 26.12.2011
Сообщений: 217
30.01.2014, 00:51 2
Цитата Сообщение от Kiss31 Посмотреть сообщение
1>mama.cpp(24): error C2039: 'dum' : is not a member of 'Address'[/U][/B]
a.dum; - dum не является членом класса. Правильно будет написать так: dum(a);
0
Лаборант23
0 / 0 / 0
Регистрация: 29.01.2014
Сообщений: 6
30.01.2014, 11:55 3
Спасибо за помощь но теперь получаеться ошибка

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
------ Build started: Project: mama, Configuration: Debug Win32 ------
1>  mama.cpp
1>  .NETFramework,Version=v4.0.AssemblyAttributes.cpp
1>mama.obj : error LNK2028: unresolved token (0A000325) "public: void __thiscall Address::address(char const *)" (?address@Address@@$$FQAEXPBD@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>mama.obj : error LNK2028: unresolved token (0A000326) "public: void __thiscall Address::phone(char const *)" (?phone@Address@@$$FQAEXPBD@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>mama.obj : error LNK2028: unresolved token (0A000327) "public: void __thiscall Address::firstname(char const *)" (?firstname@Address@@$$FQAEXPBD@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>mama.obj : error LNK2028: unresolved token (0A000328) "public: void __thiscall Address::lastname(char const *)" (?lastname@Address@@$$FQAEXPBD@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>mama.obj : error LNK2028: unresolved token (0A000329) "public: __thiscall Address::Address(void)" (??0Address@@$$FQAE@XZ) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>mama.obj : error LNK2019: unresolved external symbol "public: void __thiscall Address::address(char const *)" (?address@Address@@$$FQAEXPBD@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>mama.obj : error LNK2019: unresolved external symbol "public: void __thiscall Address::phone(char const *)" (?phone@Address@@$$FQAEXPBD@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>mama.obj : error LNK2019: unresolved external symbol "public: void __thiscall Address::firstname(char const *)" (?firstname@Address@@$$FQAEXPBD@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>mama.obj : error LNK2019: unresolved external symbol "public: void __thiscall Address::lastname(char const *)" (?lastname@Address@@$$FQAEXPBD@Z) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>mama.obj : error LNK2019: unresolved external symbol "public: __thiscall Address::Address(void)" (??0Address@@$$FQAE@XZ) referenced in function "int __cdecl main(void)" (?main@@$$HYAHXZ)
1>C:\Users\Israel\Documents\Visual Studio 2010\Projects\C++\mama\Debug\mama.exe : fatal error LNK1120: 10 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Как это можно исправить
0
aLarman
651 / 572 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
Завершенные тесты: 2
30.01.2014, 12:40 4
Цитата Сообщение от Kiss31 Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
void       lastname(const char*);
 
 
void       firstname(const char*);
 
void       phone(const char*);
 
void       address(const char*);
объявлены но не определены, вот и ошибка

Добавлено через 1 минуту

Не по теме:

Цитата Сообщение от Лаборант23 Посмотреть сообщение
error LNK2019: unresolved external symbol
или нет реализации метода или не подключены либы (если используется в проекте сторонняя либа)
так на будущее

0
30.01.2014, 12:40
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2014, 12:40

Написать шаблон класса на основе класса vector для реализации стековой структуры данных
Пыталась написать код, но не уверена будет ли такая реализация корректной, можно ли это сделать...

Использование перегруженного оператора ввода/вывода в поток базового класса для объекта производного класса
Здравствуйте! Можно ли использовать перегруженный оператор ввода/вывода в поток из базового класса...

Задачка для новичков #2: вывести в методе класса-родителя значение данных-членов из дочернего класса
Вдохновленный соседней темой тоже решил задать свой вопрос таким же начинающим программистам как и...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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