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

Возврат указателей объектов из функций - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Определить, что будет выдано на терминал в результате выполнения программы http://www.cyberforum.ru/cpp-beginners/thread815763.html
Помогите ответить на вопрос Определить, что будет выдано на терминал в результате выполнения программы: #include<iostream.h> int a,b; void prst(int,int); void main() {
C++ Какое значение примет переменная Y в результате выполнения следующего фрагмента программы Помогите ответить на вопрос по контрольной Какое значение примет переменная Y в результате выполнения следующего фрагмента программы ………. x=1; if( x<2 ) y=x; if( x<3 ) y=2; else y:= -x+5; cout << y; ………. http://www.cyberforum.ru/cpp-beginners/thread815739.html
Программу "Угадай число" C++
Необходимо написать программу "Угадай число". После того,как число угадано, программа спрашивает, хотите ли вы еще раз сыграть. После ввода ответа, программа вылетает. Помогите найти ошибку #include<iostream> #include<stdlib.h> #include<time.h> using namespace std; int main() { setlocale(0,""); int chislo, otvet; char* soglas = "да";
исправление цикла C++
Как сделать в else чтобы число n генерировалось заново,если числа n и m не простые? Также новая генерация числа К,если оно не удовлетворяет условию? #include <iostream> #include <stdio.h> #include <conio.h> #include <time.h> #include <stdlib.h> using namespace std;
C++ Написание библиотеки для воспроизведения MP3 http://www.cyberforum.ru/cpp-beginners/thread815726.html
Хочу вкупе своей программе добавить библиотеку для МР3. Можно ссылочек на то, как воспроизводить звук, и то, как устроен фаил? Если нужно что-то еще, то, пожалуйста, напишите
C++ Максимальное число типа int Я реализовал функцию перевода из двоичной системы счисления в десятичную, она работает хорошо, но когда я хочу ввести четырех байтный число, то выводит -1. Хочу советы как можно реализовать перевод с такими большими числами. void binary_to_ten(int* binary_code,int size) { cout<<endl; long long int sum = 0; for(int i = 0; i < size; ++i){ sum += my::pow(binary_code*2,size-i-1); }... подробнее

Показать сообщение отдельно
Metal01
2 / 2 / 1
Регистрация: 18.10.2012
Сообщений: 17

Возврат указателей объектов из функций - C++

22.03.2013, 19:11. Просмотров 342. Ответов 1
Метки (Все метки)

Всем хай. Решил вот освоить C++. Написал вот такой код:
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
#include <iostream>
#include <cstdlib>
using namespace std;
class N1 {
 
public: N1(){cout<< "-Конструктор N1-";}
       ~N1(){cout << "-Деструктор N1-";}
       void asd(){cout << "-Asd is run-";}
 
};
 
class N2{
 
 
public: N2(){cout<< "-Конструктор N2-";}
       ~N2(){cout << "-Деструктор N2-";}
        N1* ukn1();
};
 
N1* N2::ukn1(){N1 n;N1 *ukn;ukn = &n; return ukn;   };
 
 
int main(){
 
    N2 n1;
    N1* ukn1 = n1.ukn1();
    ukn1->asd();
 
 
    return 0;
}
На консоль вывелось следующие:
-Конструктор N2--Конструктор N1--Деструктор N1--Asd is run--Деструктор N2-

Если я не ошибаюсь, то получается что у меня в методе класса N2 создался объект класса N1, потом он удалился, потом в код функции маин возвратилась ссылка на него, а потом из удаленного объекта вызвалась функция. Причём никаких ошибок во время работы не возникло. Я читал что при работе методов создаются промежуточные объекты,
так что я хер пойму что у меня удалилось? На что возвратился указатель?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru