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

Функции преобразования - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поиска максимального значения функции в заданном промежутке http://www.cyberforum.ru/cpp-beginners/thread172366.html
Дана функция y=2x3+1 Написать программу для поиска максимального значения y в промежутке x с шагом 0,2. Дублирование тем запрещено правилами форума (п. 3.4). Не плодите одинаковых тем.
C++ Нужно Составить алгоритм расчета по двум формулам Всем привет! Нужно написать код что бы пользователь мог ввести число переменной и программа всё должна посчитать и выдать результат Z1 и Z2 (Ответ должен получиться одинаковый) Начало #include <iostream> # include <cmath> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread172362.html
Упорядочить цифры в порядке возрастания/убывания C++
Задание звучит примерно так : взять произвольные 10-15 цифр и чтобы программа их упорядочила в порядке как убывания , так и возрастания . Подскажите плиз как правильно составить цикл и какие команды использовать) Заранее спасибо
C++ Обьясните, пожалуйста, что делает функция.
Обьясните пожалуйста что делает функция. Я то вообщем понял, но лучше напишите еще раз вы. А еще для значения 2 выдает 25, что не есть правильным ответом. Помогите исправить int prec(float base) { float xx, x=1; float px=1/base; int i=0; do {
C++ Вычислить и вывести на экран в виде таблицы значения функции F, на интервале от Хнач до Хкон с шагом dX http://www.cyberforum.ru/cpp-beginners/thread172333.html
Помогите пжл решить задачки....Очень нужно... Заранее Спасибки:) 1) Вычислить и вывести на экран в виде таблицы значения функции F на интервале от Хнач до Хкон с шагом dX. F=ax(в квадрате) + b + c при a<0 и c неравно 0 F=-a/(x-c) при a>0 и c=0 F=a(x+c) во всех остальных случаях, где a,b,c,Xнач,Xкон,dX - ввести с клавиатуры 2)В одномерном массиве,состоящем из N целых...
C++ Поменять значение элемента массива с индексом массива Надо поменять значение элемента массива с индексом массива не применяя вспомогательных массивов. Пример: дана массив 4 2 1 3 a=j a=i a=4 a=1 a=2 a=2 a=1 a=3 a=3 a=4 Должно получится после преобразования массива 4 2 1 3 вот такой массив 3 2 4 1. Я пытался делать но у меня ничего не получается. подробнее

Показать сообщение отдельно
Lotles
1 / 1 / 0
Регистрация: 29.12.2009
Сообщений: 167

Функции преобразования - C++

04.10.2010, 21:22. Просмотров 740. Ответов 8
Метки (Все метки)

Hi all
Вот первый код
Код
#include "stdafx.h"
#include "conio.h"
using namespace std;
class String{
private:
	char* ptr;
public:
	String(){
		ptr=new char[1];
		ptr[0]='\0';
	}
	String(char* s){
		int n=strlen(s);
		ptr=new char[n+1];
		strcpy(ptr,s);
	}
	~String(){
		delete[]ptr;
		cout << "Udalenie" << endl;
	}
	operator char*(){
		return ptr;
	}
};
int main(){
	String a("String 1");
	String b("String 2");
	cout << "The value of a is : ";
	cout << a << endl;
	cout << "The value of b is: ";
	cout << b << endl;
}
Пишут в учебнике что если объявлена функция
Код
	operator char*(){
		return ptr;
	}
то можно выводить объекты класса String, если ожидаются данные типа *char

После запуска прога выдала это:
The value of a is :String1
The value of b is :String2
Udalenie
Udalenie
Ну, я подумал, а что будет если использовать это
operator int(){
return a;
}
Вот весь код
Код
#include "stdafx.h"
#include "conio.h"
using namespace std;
int i,a;
class String{
private:
	char* ptr;
public:
	String(){
		ptr=new char[1];
		ptr[0]='\0';
	}
	String(int i){
		a=i;
	}
	String(char* s){
		int n=strlen(s);
		ptr=new char[n+1];
		strcpy(ptr,s);
	}
	~String(){
		delete[]ptr;
		cout << "Udalenie" << endl;
	}
	operator char*(){
		return ptr;
	}
	operator int(){
		return a;
	}
};
int main(){
	String a("String 1");
	String b("String 2");
	String c(5);
	cout << "The value of a is : ";
	cout << a << endl;
	cout << "The value of b is: ";
	cout << b << endl;
	cout << "The value of c is: ";
	cout << c << endl;
}
Не пойму, почему компилятор выдает
The value of a is :5
The value of b is :5
The value of с is :5
Udalenie
Udalenie
Udalenie

Откуда в объекте a и b пятёрки?
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru