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

Как работать с функциями , используя классы ? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Каким оператором удалить строку String^ созданную gcnew? http://www.cyberforum.ru/cpp-beginners/thread682445.html
Здравствуйте. Подскажите чем удалить строку String^ созданную с помощью gcnew? Оператор delete видимо не подходит. String^ str = gcnew String(pv->name_bus); delete str; Заранее благодарен всем отозвавшимся.
C++ Написать программу, которая считывает текст из файла и записывает каждое слово в отдельный элемент массива Нужна помощи. Можно ли дать подобие самой элементарной задачи: Написать программу, которая считывает текст из файла и записывает каждое слово в отдельный элемент массива. Желательно с описанием. Заранее спасибо ;) Добавлено через 1 час 52 минуты up up up! http://www.cyberforum.ru/cpp-beginners/thread682441.html
Задача голландского флага C++
Если тема создавалась ранее,извиняйте. Но никак не могу разобраться, почему не работает! Кто-нибудь , помогите пожалуйста. #pragma once #include<iostream> #include<cmath> using namespace std; #define M_PI 3.1415926535897932384626433832795 #ifndef POP #define POP
массив char в файл C++
Надеюсь, последний глупый вопрос на сегодня: как записать в файл массив char длиной 1024 символа в файл вместо его содержимого
C++ Заполнить двумерный массив случайным образом и отсортировать в нём полученные значения http://www.cyberforum.ru/cpp-beginners/thread682426.html
Разработать программу, которая запоминает в двумерном массиве, имеющем 5 строк и 8 столбцов, числа от –5 до 5, получаемые случайным образом, а затем располагает их в порядке возрастания в строке. Поменять в отсортированном массиве все отрицательные элементы на их абсолютную величину.
C++ Составить функцию перестановки каждой пары элементов массива Нужно улучшить код программы что бы он работал кок можно оптимальней и самое главное как можно БЫСТРО Вот код который нужно улучшить,основная задача что бы программа работала как можно быстрее. Нужно очень срочно,на завтра. #include "stdafx.h" #include <iostream> #include <ctime> using namespace std; подробнее

Показать сообщение отдельно
Casper-SC
 Аватар для Casper-SC
3464 / 1683 / 173
Регистрация: 27.03.2010
Сообщений: 4,824
Записей в блоге: 1
28.10.2012, 14:08     Как работать с функциями , используя классы ?
Cat.h
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
#pragma once
 
namespace UserClasses
{
    class Cat
    {
    private:
        unsigned int age;
        unsigned int weight;
 
    public:
        Cat(void);
        Cat(unsigned int age, unsigned int weight);
        ~Cat(void);
 
        unsigned int getAge() const;
        void setAge(unsigned int newAge);
 
        unsigned int getWeight() const;
        void setWeight(unsigned int newWeight);
 
        void Meow();
    };
}

Cat.cpp
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
40
41
42
43
44
45
46
47
48
#include "StdAfx.h"
#include "Cat.h"
 
namespace UserClasses
{
    Cat::Cat(void)
    {
        age = 0;
        weight = 0;
    }
 
    Cat::Cat(unsigned int Age, unsigned int Weight)
    {
        age = Age;
        weight = Weight;
    }
 
    Cat::~Cat(void)
    {
    }
 
    unsigned int Cat::getAge() const //const означает, что метод не может изменять значения класса
    {
        return age;
    }
 
    void Cat::setAge(unsigned int newAge)
    {
        age = newAge;
    }
 
    unsigned int Cat::getWeight() const
    {
        return weight;
    }
 
    void Cat::setWeight(unsigned int newWeight)
    {
        weight = newWeight;
    }
 
    void Cat::Meow()
    {
// отсюда вызывать вывод на консоль не правильно, это просто пример,
// лучше возвращать текст, если на то пошло
        std::cout << "Мяу" << std::endl; 
    }
}


Stack.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#pragma once
 
namespace System
{
    namespace Collections
    {
        class Stack
        {
        public:
            Stack(void);
            Stack(unsigned int startSize);
            ~Stack(void);
            void Push(char ch); //помещает в стек символ
            char Pop();         //выталкивает из стека символ
            int GetSize();
        };
    }
}

Stack.cpp
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include "StdAfx.h"
#include "Stack.h"
 
using namespace std;
using namespace System::Collections;
 
const int START_STACK_SIZE = 6;
char * _stack; //содержит стэк
int _currentPosition; //индекс вершины стека
int _length;
 
Stack::Stack(void)
{
    _currentPosition = 0;
    _stack = new char[START_STACK_SIZE];
    _length = START_STACK_SIZE;
}
 
Stack::Stack(unsigned int startSize)
{
    _currentPosition = 0;
    _stack = new char[startSize];
    _length = startSize;
}
 
Stack::~Stack(void)
{
    delete _stack;
}
 
void Stack::Push(char ch)
{
    if (_currentPosition == _length)
    {
        _length = _length * 2;
        char * tempArr = new char[_length];
        for (int i = 0; i < _length; i++)
            tempArr[i] = _stack[i];
        delete _stack;
        _stack = tempArr;
    }
 
    _stack[_currentPosition++] = ch;
}
 
char Stack::Pop()
{
    if (_currentPosition == 0)
        return 0;
 
    return _stack[--_currentPosition];
}
 
int Stack::GetSize()
{
    return _currentPosition;
}


Может как-то так? Заодно раскритикуйте мой стек .
 
Текущее время: 23:01. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru