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

Не создаётся объект класса - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ nan http://www.cyberforum.ru/cpp-beginners/thread186021.html
подскажите что это означает ввожу данные на выходе "nan" работаю только с double, long int
C++ Управление памятью и структурные типы данных С++ вот такая задача, не знаю что и думать((( Вывести список вузов, имеющих более половины студентов с высоким рейтингом. Исключить из перечня информацию по рейтингу студентов по наименованию вуза. напишите кто что сможет, оформить с помощью данной темы, (сначала ввести данные, а потом...) http://www.cyberforum.ru/cpp-beginners/thread186020.html
C++ Площадь треугольника!
Пытаюсь написать программу для вычисления площади вписанного треугольника,который получится,если соеденить середины сторон треугольника,заданного координатами своих вершин на плоскости. Ниже приведена программа,которая вычисляет площадь треугольника,заданного коорд.Знаю,что коорд.вершин этого вписанного треугольника получаются Х=(х1+х2)/2, Y=(y1+y2)/2. Но как преобразовать данный код не...
C++ Контейнерный класс
В общем нужно реализовать контейнерный класс не использую STL библиотеку, я не уверен правильно ли я понял что такое контейнерный класс.Допустим класс линии- контейнерный ,и есть класс класс точки. т.е. структура будет такой? class point{ ....... ...... }; class line{ point A,B; ......... ......
C++ Одномерный массив, статическое выделение памяти, ошибка в объявлении http://www.cyberforum.ru/cpp-beginners/thread186002.html
Здравствуйте. Снова надеюсь на вашу помощь.:confusion: В двух массивах записаны результаты 20 игр двух футбольных команд (если игра окончилась выигрышем данной команды, то записано число 2, проигрышем— 0, если игра окончилась вничью— 1). Организовать заполнение массивов с клавиатуры и проверку корректности ввода значений. На основе имеющихся данных определить: а) суммарное количество баллов,...
C++/CLI WinForms Разложить число на простые множители через рекурсию Здравствуйте. Есть вот такое задание: Дано натуральное число. Разложите его на простые множители. Написать рекурсивную функцию. Сделал без рекурсии, с рекурсией уже долго ломаю голову но не получается, подскажите пожалуйста Мой код private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { int num = Convert::ToInt32(textBox1->Text), simple = {1,2}, temp... подробнее

Показать сообщение отдельно
kowandser
0 / 0 / 0
Регистрация: 01.10.2010
Сообщений: 50
04.11.2010, 03:12     Не создаётся объект класса
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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
---------------------------------------Address.h--------------------------------------------------
#pragma once 
 
class Address
{
public:
    const static int SIZE_COUNTRY = 3;
    const static int SIZE_POSTCODE = 7;
    const static int SIZE_REGION = 11;
    const static int SIZE_LINE = SIZE_COUNTRY + SIZE_POSTCODE + SIZE_REGION;
private:
    char Country [SIZE_COUNTRY];   //ISO-код
    char Postcode [SIZE_POSTCODE]; //Почтовый индекс
    char Region [SIZE_REGION];     //Область
public:
    //Сеттеры атрибутов
    void set (const char *C, const char *P, const char *R);
    //Геттеры атрибутов
    char * getC();
    char * getP();
    char * getR();
    Address() {};
    Address(char c[], char p[], char r[]);
    Address(const Address & add);
};
 
----------------------------------------------------Address.cpp-------------------------------------
#include "stdafx.h" 
#include "Address.h"
 
//Реализация сеттеров
void Address::set (const char *C, const char *P, const char *R)
{
    strcpy_s(Country, sizeof(Country), C);
    strcpy_s(Postcode, sizeof(Postcode), P);
    strcpy_s(Region, sizeof(Region), R);
}
//Реализация геттеров
char * getC() {return Country};
char * getP() {return Postcode};
char * getR() {return Region};
 
Address::Address() {printf("Ok!");};
 
Address::Address(char c[], char p[], char r[]) 
{
    set(c, p, r);
}
 
Address::Address (const Address & add)
{
    set(add.Country, add.Postcode, add.Region);
}
 
---------------------------------------Person.h-------------------------------------------------------
#pragma once
#include "Address.h"
 
class Person
{
private:
    Address address ();
    char Firstname [20];
    char Surname [20];
    char Patrname [20];
public:
    //Функции записи (сеттеры)
    void setFirstname (const char *s);
    void setSurname (const char *s);
    void setPatrname (const char *s);
    //Функции чтения (геттеры)
    char * getFirstname ();
    char * getSurname ();
    char * getPatrname ();
    //Конструкторы: по умолчанию, с параметрами, копирующий соответственно - и деструктор
    Person ();
    Person (char Fn[], char Sn[], char Pn[]);
    Person (const Person &obj);
    ~Person();
};
 
-----------------------------------------Person.cpp--------------------------------------------------
#include "stdafx.h"
#include <conio.h>
#include <cstdio>
#include <cstring>  
#include "Person.h" 
 
//Базовый конструктор
Person::Person()
    {
        Firstname[0] = Surname [0] = Patrname [0] = 'x00';
    }
 
//Конструктор с параметрами
Person::Person(char Fn[], char Sn[], char Pn[])
    {
        setFirstname(Fn);
        setSurname(Sn);
        setPatrname(Pn);
    }
 
//Копи-конструктор
Person::Person(const Person &obj)
    {
        setFirstname(obj.Firstname);
        setSurname(obj.Surname);
        setPatrname(obj.Patrname);
    }
 
//Деструктор
Person::~Person() 
    {
        printf("\nУдаляется объект...\n");
    }
 
//Сеттеры Person
void Person::setFirstname (const char *s) {strcpy_s(Firstname, sizeof(Firstname), s);}
void Person::setSurname (const char *s) {strcpy_s(Surname, sizeof(Surname), s);}
void Person::setPatrname (const char *s) {strcpy_s(Patrname, sizeof(Patrname), s);}
//Геттеры Person
char * Person::getFirstname () {return Firstname;}
char * Person::getSurname () {return Surname;}
char * Person::getPatrname () {return Patrname;}
 
-------------------------------------------oop2-----------------------------------------------
#include "stdafx.h"
#include "Person.h"
#include "Address.h"
#include <conio.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    Address tre1();                                                     //  1
    Address tre2 ("sdf", "sdf", "fdfd");                             //  2
    getch();
    return 0;
}

1. Не создаётся объект. Но ошибки не выскакивает. Почему?
2. Ошибка:
1>oop2.obj : error LNK2019: unresolved external symbol "public: __thiscall Address::Address(char * const,char * const,char * const)" (??0Address@@QAE@QAD00@Z) referenced in function _wmain
1>D:\CPP\oop2\Debug\oop2.exe : fatal error LNK1120: 1 unresolved externals
Опять же почему?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 22:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru