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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2010, 17:31   #1
Ver0nica
 
Регистрация: 16.05.2009
Сообщений: 7
По умолчанию ошибка в конструкторе C++

Всем привет!
Возникла такая проблемка, написала код, не работает.Помогите, пожалуста, как исправить?
Заранее спасибо.
Вот задание
1. Создать класс ИМЯ_КЛАССА , который будет хранить
необходимую информацию .
2. Класс должен иметь не менее двух конструкторов (один без параметров, другой — с параметром/ами).
3. Написать методы доступа к полям класса (так называемые "getter-ы и setter-ы").
4. Написать дополнительные методы для класса(Метод, который возвращает рост собаки в дюймах). А также написать метод
класса toString(), который будет возвращать строку, содержащую общее описание класса (toString() возвращает, например такое:
"Барбос, Кавказская овчарка, 2005 г.р.").
5. Добавить в каждый метод вывод информации о его вызове, в формате «<имя класса:
имя функции>» .

Вот код:
Код:
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
class Dog {
       char*Name;
       int Year;
       char*Breed; //порода
       char*Sex;
       char*Reward;//награды
       int Height;//рост
       char*FIO;

 /*void toString(char*Name, int Year, char*Breed, char*Sex,char*Reward, int Height, char*FIO){
           cout<<Dog.Name<<endl;
        cout<<Dog.Year<<endl;
            cout<<Dog.Breed<<endl;
                cout<<Dog.Sex<<endl;
                    cout<<Dog.Reward<<endl;
                        cout<<Dog.Height<<endl;
                            cout<<Dog.FIO<<endl;
            }*/

 Dog() {
 /*   Dog.Name='';
        Dog.Year=0;
            Dog.Breed='';
                Dog.Sex='';
                    Dog.Reward='';
                        Dog.Height=0;
                            Dog.FIO='';*/}


 Dog(char*Name, int Year, char*Breed, char*Sex,char*Reward, int Height, char*FIO){
/*super();*/
             Name=new char [strlen("арчи")];
             strcopy(Name,"арчи");
             Year=2000;
             Breed=new char [strlen("спаниель")];
              strcopy(Breed,"спаниель");
             Sex=new char [strlen("муж")];
             strcopy(sex,"муж");
             Reward=new char [strlen("нет");
             strcopy(Revard,"нет");
             Height=60;
             FIO=new char [strlen("Головина Дарья Алексеевна");
             strcopy(FIO,"Головина Дарья Алексеевна");
}

 char getName() {
cout<<"вызван класс Dog функция getName()"<<endl;
return *Dog.Name;
}
 void setName(char*Name) {
Name="арчи";
}
 int getYear() {
cout<<"вызван класс Dog функция getYear()"<<endl;
return Dog.Year;
}
 void setYear(int Year) {
Year=2000;
}
char getBreed() {
cout<<"вызван класс Dog функция getBreed()"<<endl;
return Breed;}

 void setBreed(char*Breed) {
Breed="спаниель";
}
 int getSex() {
cout<<"вызван класс Dog функция getSex"<<endl;
return Sex;
}
 void setSex(int Sex) {
Sex="муж";
}
 char getReward() {
cout<<"вызван класс Dog функция getReward()"<<endl;
return Reward;
}
 void setReward(char*Reward) {
Reward="нет";
}
 int getHeight() {
cout<<"вызван класс Dog функция getHeight()"<<endl;
return Height;
}
 void setHeight(int Height) {
Height=60;
}
 char getFIO() {
cout<<"вызван класс Dog функция getFIO()"<<endl;
return FIO;
}
 void setFIO(char*FIO) {
FIO="Головина Дарья Алексеевна";
}
 char toString() {
return "Dog [Name=" + Name + ", Year=" + Year + ", Breed=" + Breed + ", Sex=" + Sex +
", Reward=" + Reward +  ", Height=" + Height + ", FIO=" + FIO + ", toString=" + Arrays.toString(toString) + "]";
}

~Dog() {
delete (Name);
delete(Breed);
delete (Sex);
delete (Reward);
delete (FIO);
}
};
 void main() { создать переменную типа собак как у вадика в лабе
Dog m;
return 0;
}

Последний раз редактировалось Stilet; 24.04.2011 в 13:56.
Ver0nica вне форума Ответить с цитированием
Старый 24.04.2011, 13:34   #2
Soulflycom1
Новичок
Джуниор
 
Регистрация: 05.02.2010
Сообщений: 1
По умолчанию ошибка в конструкторе C++

там при объявлении экземпляра класса ложны быть параметры. т.к. есть конструктор.
не Dog m, а Dog m(что-то...);
и не надо писать ретурн 0, это ж тип войд
Soulflycom1 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Неявные данные в конструкторе. Lazio Общие вопросы C/C++ 4 12.04.2010 12:53
Конструктор в конструкторе Юра_YUYU Общие вопросы C/C++ 3 30.01.2010 15:32
Как задать onClick в конструкторе? TwiX Общие вопросы Delphi 4 03.10.2009 20:39
Задать разрядность числа в конструкторе zx11 Общие вопросы C/C++ 5 19.08.2009 19:01
Инициализация массивов в конструкторе. jojahti Общие вопросы C/C++ 7 27.07.2009 13:30