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

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

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.05.2009, 19:11   #1
FanEurovision
Новичок
Джуниор
 
Регистрация: 18.05.2009
Сообщений: 1
По умолчанию Немогу понять,почему Microsoft Visual Studio 2005 (C++) выдает ошибки?

Написал программу, однако она выдает ошибки. люди, объясните в чем причина? А задание такое: класс String создать. В классе String опредилить следующие операции:1)Присваивания(=);2)сложен ия(+). Итак, написанная мною программа:

// 5.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <iostream.h>
class string
{
public:
string();
~string() ;
string(const string&);
string operator=(const string);
operator int() { return num; }
private:
int num;
};


string::string()
{
<<"constructor"<<endl;
num = rhs.num;
}
string::~string()
{
<<"destructor"<<endl;
}


string::string(const string& rhs)
{
<<"constructor copii"<<endl;
num = rhs.num;
}


string&string:perator=(const string&rhs)
{
if(this == &rhs) return *this;
<<"operacia priscvaivania"<<endl;
num = rhs. num;
return*this;
}


string Foo(void)
{
return string();
}

void main(void)
{
{
string Z;
string Y=Z;
}
{
string A;
string B(A);
}
{
string C, D;
C=D;
}
{
string E=Foo() ;
}
}

int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
FanEurovision вне форума Ответить с цитированием
Старый 18.05.2009, 19:45   #2
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

1. Используйте тэг code
2. Какие ошибки? На что ругается? Как ругается?
3. Почему у Вас две функции main?
pu4koff вне форума Ответить с цитированием
Старый 18.05.2009, 19:45   #3
Svetlag
Пользователь
 
Аватар для Svetlag
 
Регистрация: 24.02.2009
Сообщений: 85
По умолчанию

Еще может и это поможет
Код:
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <iostream>
class string
{
public:
string();
~string() ;
string(const string&);
string& operator=(const string&rhs);
operator int() { return num; }
private:
int num;
};


string::string()
{
std::cout<<"constructor"<<std::endl;
//num = rhs.num;
}
string::~string()
{
std::cout<<"destructor"<<std::endl;
}


string::string(const string& rhs)
{
std::cout<<"constructor copii"<<std::endl;
num = rhs.num;
}


string& string::operator=(const string&rhs)
{
if(this == &rhs) return *this;
std::cout<<"operacia priscvaivania"<<std::endl;
num = rhs. num;
return *this;
}
Svetlag вне форума Ответить с цитированием
Старый 18.05.2009, 20:06   #4
XoDeR
Новичок
Джуниор
 
Регистрация: 18.05.2009
Сообщений: 2
По умолчанию

Создаешь пустой проект, добавляешь в него cpp-файл с функ main + h и cpp для твоего класса, для таких примеров не нужен проект других типов, которые уже представляют собой каркас для приложения. Объявление класса в MyString.h(напр.), реализацию -- в MyString.cpp. В main.cpp инклудишь h-ник. Код приведенный выше вполне адекватен в плане правильности основных положений. Еще не советовал бы называть свои классы так же как стандартные, пусть даже ты не юзаешь namespace std, самому путаницы будет меньше. И выводить текст безусловно следует в поток std::cout.
XoDeR вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С# и visual studio 2005 Neymexa Общие вопросы .NET 1 12.03.2009 22:31
Работа с окнами в Microsoft Visual Studio 2005 M@STeR Visual C++ 1 24.09.2008 14:44
microsoft visual studio 2005, помогите кто может zak Visual C++ 2 21.09.2007 21:56
Microsoft Visual Studio 2005 + MSDN InseR Visual C++ 7 02.07.2007 15:42