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

Виртуальные функции. - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Оператор условной передачи http://www.cyberforum.ru/cpp-beginners/thread155967.html
1.описать оператор условной передачи в алгоритмическом языке турбо паскаль и в алгоритмическом языке си++.привести пример
C++ Работа с COM - портом Не могу сделать чтобы, при работе с соm - портом возможно было выбирать как автоматические настройки по(default), так и ручные настройки. Может кто подскажет? #include <vcl.h> #include <iostream.h> #pragma hdrstop #include <stdio.h> #include <conio.h> #include "Error.h" #include "Serial.h" #include "Globals.h" //--------------------------------------------------------------------------- http://www.cyberforum.ru/cpp-beginners/thread155942.html
БД в C++ for DOS C++
ЗДравствуйте! Не могли бы вы подсказать книги либо какие-нибудь ресурсы по изучению БД в С++ под ДОС. В интернете ничего не нашёл... Заранее спасибо!
C++ ошибка с qwes.exe при попытке list.push_back
Пишу приложение для WinCE на C++. При попытке положить в list элемент вылетает сообщение следующего содержания: A problem has occurred with gwes.exe с последующим предложением сообщить о проблеме в microsoft. Как с этим бороться? Код при котором вылетает ошибка: list<DomBonusMsg*> m_bonusMsgList; void MsgFileDom::AddDomBonusMsg(DomBonusMsg *msg) { m_bonusMsgList.push_back(msg); }
C++ Родовые классы. Ошибка link.exe http://www.cyberforum.ru/cpp-beginners/thread155878.html
template <class qType> class queue { qType q; int tail, head; public: queue() { head = tail = 0; } void enq(qType); qType deq(); };
C++ Замена слова в текстовом файле!?!?! Пытаюсь разобраться с программкой, но нифига не выходит. :( Вод код программки: // filter.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include <iostream> #include <fstream> #include <cstdlib> подробнее

Показать сообщение отдельно
Nameless One
Эксперт С++
 Аватар для Nameless One
5759 / 3408 / 255
Регистрация: 08.02.2010
Сообщений: 7,393
28.07.2010, 06:45     Виртуальные функции.
Evg, здесь создается временный (безымянный) объект типа x1 (при этом вызывается конструктор по умолчанию для временного объекта), и его адрес присваивается указателю на x1. Но соль в том, что после присваивания адреса временный объект уничтожается, и указатель хранит адрес уже не существующего объекта.
Вот пример того, как можно было бы использовать временные объекты:
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
#include <iostream>
#include <string>
 
#define print(A) std::cout << #A " = \"" << A << "\"" << std::endl
 
class abc
{
    std::string msg;
public:
    abc()
        : msg("Hello, World")
    {}
    abc(const abc& rhs)
        : msg(rhs.msg)
    {}
    friend std::ostream& operator << (std::ostream& os, const abc& rhs)
    {
        os << rhs.msg;
        return os;
    }
};
 
int main()
{
    std::string string1 = std::string("test");
    std::string string2 = std::string(string1);
    int x = int();
    abc a = abc();
 
    print(string1);
    print(string2);
    print(x);
    print(a);
    system("pause");
    return EXIT_SUCCESS;
}
 
Текущее время: 05:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru