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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.01.2011, 01:53   #1
Eminem
Пользователь
 
Регистрация: 08.02.2010
Сообщений: 64
По умолчанию Вопрос по MS Visual C++ : Свой тип данных

Я только начал изучение С++, сильно не пинайте.

Вот если в Delphi мы пишем:
Код:
Type
 TMyType_1 = (mtSmall, mtLarge);
 TMyType_2 = record
  Str_1:string;
  Int_1:integer;
 end;

Var
 Param_1:TMyType_1;
 Param_2:TMyType_2;

.............
//далее в программе, в какой-нибудь процедуре

procedure ......
begin
Param_1:=mtSmall; // мы можем присваивать этому параметру те переменные mtSmall и mtLarge

Param_2.Str_1:='Слово'; // А с этим  параметром 
Param_2.Int_1:=123; // работать как с контейнером.
end;
Подскажите, как эти же действия делать на MS Visual C++ 2008
Eminem вне форума Ответить с цитированием
Старый 15.01.2011, 02:25   #2
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

а с 1-м не разобрался, т.к. не понял
Код:
struct TMyType_2
{
  string Str_1;
  int Int_1;
 };
TMyType_2 Param_2;

.............
//далее в программе, в какой-нибудь процедуре

void func()
{
Param_2.Str_1:='Слово'; // А с этим  параметром 
Param_2.Int_1:=123; // работать как с контейнером.
}
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 15.01.2011, 02:33   #3
Eminem
Пользователь
 
Регистрация: 08.02.2010
Сообщений: 64
По умолчанию

Спасибо, числовой тип работает.
Но строка:
error C3265: нельзя объявлять управляемый 'Str_1' в неуправляемом 'TMyType_2'

У меня проблема в С++ со строковым типом, тут вообще как таковой string существует? - или тут как -то по другому...
Eminem вне форума Ответить с цитированием
Старый 15.01.2011, 02:46   #4
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

надо объявить в начале
#include <string>

вообще раньше класса string не было, был массив символов
char text [100];
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Старый 15.01.2011, 02:54   #5
Eminem
Пользователь
 
Регистрация: 08.02.2010
Сообщений: 64
По умолчанию

Да, он у меня есть.
Однако при объявлении переменной, например:
String Str_1;
Система говорит, что нельзя так делать, нужно:
String ^Str_1;

Я вот второй день изучаю С++ и думаю, стоит ли вообще использовать String...
В дальнейшем он пригодится или всё же легче/лучше использовать char ?
Eminem вне форума Ответить с цитированием
Старый 15.01.2011, 03:09   #6
XeruH
Форумчанин
 
Регистрация: 17.09.2010
Сообщений: 229
По умолчанию

Цитата:
Сообщение от Eminem Посмотреть сообщение
Да, он у меня есть.
Однако при объявлении переменной, например:
String Str_1;
Система говорит, что нельзя так делать, нужно:
String ^Str_1;

Я вот второй день изучаю С++ и думаю, стоит ли вообще использовать String...
В дальнейшем он пригодится или всё же легче/лучше использовать char ?
Я конечно с С не очень.. но разве там есть string? там вроде есть класс CString. Или я что-то путаю?
Правильно заданный вопрос - половина ответа!
XeruH вне форума Ответить с цитированием
Старый 15.01.2011, 03:12   #7
Eminem
Пользователь
 
Регистрация: 08.02.2010
Сообщений: 64
По умолчанию

System::String
На CString он выдаёт ошибку, такого не знает. Возможно это из-за разных версий.
Eminem вне форума Ответить с цитированием
Старый 15.01.2011, 12:34   #8
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,709
По умолчанию

2 Eminem
Сначала поймите, что С++ и Managed С++ это не одно и тоже.
p51x вне форума Ответить с цитированием
Старый 15.01.2011, 12:37   #9
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от Eminem Посмотреть сообщение
Да, он у меня есть.
Однако при объявлении переменной, например:
String Str_1;
Система говорит, что нельзя так делать, нужно:
String ^Str_1;

Я вот второй день изучаю С++ и думаю, стоит ли вообще использовать String...
В дальнейшем он пригодится или всё же легче/лучше использовать char ?
Когда объявляешь переменные , то string пиши с маленькой буквы , а не большой . Должно помочь . Вот так : string Str_1;
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 16.01.2011, 01:19   #10
Eminem
Пользователь
 
Регистрация: 08.02.2010
Сообщений: 64
По умолчанию

p51x Да, ещё многое предстоит понять : )

andrewpalkin
С маленькой буквы система не понимает.
Error C2146: синтаксическая ошибка: отсутствие ";" перед идентификатором "Str_1"

Вот начало кода. Может я не там переменные объявляю.

Код:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>

#pragma once

	bool Edit = false;
	bool FloatVal1 = false;
	bool FloatVal2 = false;
	char Value1[], Value2[];
	int CurrVal = 0;
	string Str_1;

	struct TMyType_2
	{
	 
         int Int_1;
        };

.......
//Далее код создающий форму.
Eminem вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создать свой упакованный тип в C# Никки Общие вопросы .NET 1 25.10.2009 11:49
Короткий вопрос - где можно создать свой сайт Siroga35 Свободное общение 5 22.01.2009 16:23
В Access есть тип данных "Счетчик".Есть ли подобный тип данных в MS Sql Server 2000? An_ton SQL, базы данных 5 16.01.2009 17:55
Как мне создать свой тип данных PilGrim Общие вопросы .NET 1 05.11.2008 19:12
Свой тип данных в Delphi - сверх длинные числа - хранение в переменных размером до 1 MB KLaiM Общие вопросы Delphi 9 16.06.2007 09:13