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

Работа с char* в классе - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Матрица_формирование новой матрицы http://www.cyberforum.ru/cpp-beginners/thread444843.html
Вот условие задачи:Составить прогу,которая получает матрицу Х размерностью mxn. Прога в каждой строке определяет наименьший элемент и его индексы и формирует из этих чисел матрицу, расположив в первом её столбце наименьшие элементы строк, а во 2 и 3 столбцах их индексы. Я не уверен во 2 функции. Мне кажется у меня там полный бред. Помогите разобраться. И если есть ещё какие-то недочёты,...
C++ Вывести на экран данные автомобиля Добрый день! Необходимо было создать класс авто. Не получается вывести на экран данные автомобиля, предварительно занесенные: #include "stdafx.h" #include <conio.h> #include <stdio.h> #include <string.h> #include <iostream> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread444841.html
C++ И еще одна задача по С++...
Проверить: Можно ли коробку размером a x b x c упаковать в посылку размером r x s x t? «Углом» укладывать нельзя.. Углом, это как?! И решить ее надо, используя условный оператор и оператор выбора. вот. Заранее спасибо)
Правила ip-безопасности (ipsec) C++
Простите, если где-то подобная тема есть и я ее не нашел. (поиском перед созданием темы пользовался) Гуглом так же пользовался, но возможно я глуп или плохо искал, но также необходимой мне информации и примеров не нашел. Задача такова: Необходимо написать программу которая будет сперва создавать/удалять (затем включать/выключать) политику ip-безопасности по команде. Не нашел вообще...
C++ Найти наименьшее значение массива по условию http://www.cyberforum.ru/cpp-beginners/thread444807.html
задание: Элементы массива M(n) упорядочены по не убиванию. Для заданного х: найти наименьшее K такое, что mk < x < mk+1
C++ факториал в С++ Как найти факториал с помощью рекурсивной функции? подробнее

Показать сообщение отдельно
TRTHHRTS
0 / 0 / 0
Регистрация: 12.02.2012
Сообщений: 5

Работа с char* в классе - C++

12.02.2012, 13:21. Просмотров 3560. Ответов 8
Метки (Все метки)

Приветствую.
Задача: разработать класс, с методами и т.д.
И нужно использовать в качестве поля char*.
Но он какой-то тугой (то есть не он, а я), в итоге виснет, видимо, потому что неправильно инициализирую переменную в main. Каким образом написать, чтобы не висло:
Соответственно, реализация через 3 файла:
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
#include <cstdlib>
#ifndef PERSON_H
#define PERSON_H
using namespace std;
class PERSON
{
 char *name;
 int age;
 bool sex;
 public:
  PERSON();
  PERSON(char*,int,bool);
  PERSON(const PERSON&);
  ~PERSON();
  char *GetName() const;
  int GetAge() const;
  bool GetSex() const;
  void SetName(char*);
  void SetAge(int);
  void SetSex(bool);
  void Set(char*,int,bool);
  int Show(); 
};
#endif
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
37
38
39
#include <cstdlib>
#include <iostream>
#include "person.h"
 
PERSON::PERSON(char *NAME,int AGE,bool SEX){
  strcpy(name,NAME); age=AGE; sex=SEX;
  cout<<"\nConstructor with arguments for "<<this<<endl;};
 
PERSON::PERSON(){
  name="S"; age=25; sex=0;
  cout<<"\nConstructor without arguments for "<<this<<endl;};
 
PERSON::PERSON(const PERSON &per_son){
  strcpy(name,per_son.name);
  age=per_son.age;
  sex=per_son.sex;
  cout<<"\nConstructor of copy for "<<this<<endl;};
 
char* PERSON::GetName() const {cout<<" \nName: "<<name;};
 
int PERSON::GetAge() const {cout<<" \nAge: "<<age;};
 
bool PERSON::GetSex() const {cout<<" \nSex(0 - male; 1 - female): "<<sex;};
 
void PERSON::Set(char *n,int a,bool s){strcpy(name,n); age=a; sex=s;};
 
void PERSON::SetAge(int a){age=a;};
 
void PERSON::SetName(char *c){strcpy(name,c);};
 
void PERSON::SetSex(bool s){sex=s;};
 
int PERSON::Show(){
  cout<<" \nName: "<<name;
  cout<<" \nAge: "<<age;
  cout<<" \nSex (0 - male, 1 - female): "<<sex<<endl;
  return 0;};
  
PERSON::~PERSON(){delete [] name;};
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
#include <cstdlib>
#include <string>
#include <iostream>
#include "person.h"
using namespace std;
 
int main()
{
  char *name;
  int age;
  bool sex;
  cout<<"Input name: "; cin>>name;
  cout<<"Input age: "; cin>>age;
  cout<<"Input sex: "; cin>>sex;
  PERSON a;
  PERSON b;
  PERSON *c;
  a.Show();
/ b.Set(name,age,sex);
  b.Show();
  c->Set("Milady",19,1);
  c->Show();
  system("PAUSE");
  return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru