Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.67
Atsa
2 / 2 / 1
Регистрация: 10.03.2012
Сообщений: 69
#1

Первая программа на С++ - C++

21.09.2012, 19:10. Просмотров 2353. Ответов 50
Метки нет (Все метки)

Не стал искать подобные темы, потому что это мой первый тупой вопрос, коих будет не мало, ибо я пишу свою первую программу на С++.
Вот собственно вопрос:
Хочу оформить ввод и вывод информации, а именно ввод имени и вывод, что-то типа этого - "Рад тебя видеть, <имя>.
Но вот проблема, ввожу имя, нажимаю Enter, на следующей строчке мелькает какой-то текст (видимо "Рад тебя видеть") и программа закрывается. В чем причина данной ошибки и где, собственно, ошибка?
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[])
{
    cout << "Enter your name, please: ";
    string s;
    cin >> s;
    cout << "I'm glad to see you, " << s << endl;;
    
    return 0;
}

http://www.cyberforum.ru/cpp-beginners/thread603635.html

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2012, 19:10
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Первая программа на С++ (C++):

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

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

Первая программа
Здравствуйте! Начинаю изучать С++. Для обучения придумал первую программу. Вот...

Моя первая программа
Недавно решил заняться с++ и естественно первое что нужно сделать это...

Первая программа и уже не работает...
Недавно купил книгу по C++, начал изучать...и так получилось, что уже первая...

50
Invader_Zim
Twilight Parasite
153 / 149 / 7
Регистрация: 21.07.2011
Сообщений: 908
22.09.2012, 00:28 #41
я код не приводил, но я имел в виду именно перегрузку конструктора. И это сработает. Конструктор который есть по умолчанию, вызвать не получится, факт. А вот его перегруженный вариант влегкую(как функцию), через точку.
0
ValeryS
Модератор
7127 / 5395 / 669
Регистрация: 14.02.2011
Сообщений: 18,212
22.09.2012, 00:34 #42
Цитата Сообщение от Invader_Zim Посмотреть сообщение
я код не приводил,
пардон, не обратил внимания на автора
Цитата Сообщение от Invader_Zim Посмотреть сообщение
А вот его перегруженный вариант влегкую(как функцию), через точку.
чеж у меня то не получается
ни так
C++
1
2
3
4
5
6
7
8
9
10
11
class B
 {
  int bb;
 public:
     B(){bb=0;};
 };
 
int main()
{
   B b;
   b.B();
ни так
C++
1
2
3
4
5
6
7
8
9
10
11
class B
 {
  int bb;
 public:
     B(){bb=0;};
 };
 
int main()
{
   B b;
   b.B;
Будь добр, приведи код
0
Invader_Zim
Twilight Parasite
153 / 149 / 7
Регистрация: 21.07.2011
Сообщений: 908
22.09.2012, 01:20 #43
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
class B{
    int a;
public:
    B(){
        a=2;
    }
    int Ad(){
        B();
    }
};
 
int main(){
 
    B A;
    A.Ad();
}
Немного загнал, извеняюсь, компилера под рукой не было.

Косвенно получается на УРА

но может это и читерство...


Надо попробывать еше через указатель на функцию.
0
ValeryS
Модератор
7127 / 5395 / 669
Регистрация: 14.02.2011
Сообщений: 18,212
22.09.2012, 01:34 #44
Действительно проканало
но это нарушает главный принцип ООП
Объект создается один раз и один раз конструируется
0
Invader_Zim
Twilight Parasite
153 / 149 / 7
Регистрация: 21.07.2011
Сообщений: 908
22.09.2012, 01:36 #45
ValeryS, а friend? а указатели на закрытые поля? масса вещей нарушает ООП но делает код /*Эпитет подставить*/
0
ValeryS
Модератор
7127 / 5395 / 669
Регистрация: 14.02.2011
Сообщений: 18,212
22.09.2012, 01:39 #46
хотя нет не проканало
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class B
 {
    public: 
     int bb;
 
     B(){bb=0;};
     void Ad(){ B();};
 };
 
int main()
{
   B b;       // bb=0
   b.bb=5;  // bb=5 
   b.Ad();   // bb=5
ничего он не инициализирует заново
он просто где то создал безымянный объект и тут же его похерил
0
Invader_Zim
Twilight Parasite
153 / 149 / 7
Регистрация: 21.07.2011
Сообщений: 908
22.09.2012, 01:43 #47
ValeryS, обьект существует внутри функции значит!
Курочим компилятор, товарисчи!

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
class B
 {
    public: 
     int bb;
 
     B(){bb=0;};
     void Ad(){ this=new B();};
 };
 
int main()
{
   B b;       // bb=0
   b.bb=5;  // bb=5 
   b.Ad();   // bb=5
   std::cout<<b.bb;
   }
А так хотелось...
lvalue required as left operand of assignment
0
ValeryS
Модератор
7127 / 5395 / 669
Регистрация: 14.02.2011
Сообщений: 18,212
22.09.2012, 01:46 #48
вот тебе кусок дизасемблерного кода функции Ad()
Assembler
1
2
3
4
 pop         ecx  
  mov         dword ptr [ebp-8],ecx 
  lea         ecx,[ebp-0D4h] 
  call        B::B (11C1271h)
как видишь
Assembler
1
  lea         ecx,[ebp-0D4h]
создал новый объект
а при оптимизации вообще выбросит этот конструктор
0
Invader_Zim
Twilight Parasite
153 / 149 / 7
Регистрация: 21.07.2011
Сообщений: 908
22.09.2012, 01:50 #49
ValeryS, Ну а если на этот кусок с адресоваться и сделать что-то типа того маразма что я предложил выше?
0
ValeryS
Модератор
7127 / 5395 / 669
Регистрация: 14.02.2011
Сообщений: 18,212
22.09.2012, 01:53 #50
Цитата Сообщение от Invader_Zim Посмотреть сообщение
ValeryS, Ну а если на этот кусок с адресоваться и сделать что-то типа того маразма что я предложил выше?
чего? явно вызвать конструктор?
без ассемблера и хакерских штук не обойтись

но это нарушает условие "на плюсах явно вызвать конструктор"
0
Invader_Zim
Twilight Parasite
153 / 149 / 7
Регистрация: 21.07.2011
Сообщений: 908
22.09.2012, 01:55 #51
ValeryS, Это да, но просто поизвращатся, тоже интересно)
0
22.09.2012, 01:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.09.2012, 01:55
Привет! Вот еще темы с решениями:

Помагит.е разобраться. Первая программа на с++
Вот после нескольких дней чтения книги написал такой код. //первая #include...

Первая в курсе программа из ООП
Нам почти ничего не объяснили, а после завтра уже сдавать Создать класс...

Первая программа, синтаксическая ошибка
Начал учить с++, взял книгу Лафоре-OOП, книга вроде хорошая, всё отлично и...

Первая программа в VS, идентификатор cout не определен
Добрый вечер, пишу первую программу на C++, пишу в VS Express 2013, ошибка...


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

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

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