Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Рекурсивным способом получить все возможные траектории с 0-ой вершины до 6-ой вершины длиной не более 4 вершин https://www.cyberforum.ru/cpp-beginners/thread1401823.html
Как написать рекурсивную функцию по задаче: Задается например,такая верхняя треугольная матрица, на самом деле она достаточно большая float A={ { 1, 2, 1,-1,-1,-1}, {-1,...
C++ Файл с разнотипными данными
Подскажите, пожалуйста, есть файл с числовыми данными, хочу написать программу, которая посимвольно читает данные, пропускает то, что не нужно (текст), остальное записывает куда нужно. С последним...
Объясните что делает эта программа (do.while) C++
Объясните пожалуйста что делает эта программа. #include <stdio.h> #include <conio.h> #include <math.h> int main() { int i=1; float a,n; scanf("%f",&n);
C++ Стек в виде массива Помогите программку составить, выполнение арифметических действий записанных в инфиксной записи, стеков в виде массива. https://www.cyberforum.ru/cpp-beginners/thread1401747.html
C++ Аппроксимация. Квадратичная интерполяция https://www.cyberforum.ru/cpp-beginners/thread1401736.html
Нужен пример реализации квадратичной интерполяции на интервале с 11 точками. Исходные хi вычисляются по формуле xi=-2+7*(i-1)/10, i=1,11 и у по формуле y=x3-50*cos(x). Используя полученную таблицу...
Создание таблицы C++
Добрый день, задача заключается в том, чтобы считать данные и поместить их в таблицу.Задача состоит в том, чтобы создать таблицу. Прошу помочь обозначить в какую сторону копать, где можно почерпнуть...
Не срабатывает условие while (!file.eof() C++
Есть функция, которая считает из файла числа в динамический массив: int* ReadFile(string FileName) { ifstream file; file.open(FileName); int* mas=(int*)malloc(sizeof(int)*10); int Count =...
C++ Шаблонный оператор не шаблонного класса Пытаюсь создать альтернативный оператор выделения памяти для своей библиотеки. С целью получить возможность передавать дополнительную информацию о типах в свой диспетчер памяти. Сначала сделал... https://www.cyberforum.ru/cpp-beginners/thread1401683.html
C++ Задача с файлом https://www.cyberforum.ru/cpp-beginners/thread1401653.html
Дан файл определить сколько раз встречается в нем слово вывести на экран номер строк где это слово найдено(программа находит слово не зависимо от регистра) Я написал пррограмму но не знаю как...
C++ Конвертирование типов данных Нужно обработать данные. Пропустить их через кучу функций, каждая из них требует свой тип данных. Вовремя компиляции постоянно сталкиваюсь с тем что компилятор ругается "невозможно преобразовать... https://www.cyberforum.ru/cpp-beginners/thread1401649.html
Raynor585
2 / 2 / 0
Регистрация: 23.04.2015
Сообщений: 13
25.06.2015, 19:09 0

Решение всех задач из учебника Стивена Прата

25.06.2015, 19:09. Просмотров 77880. Ответов 211
Метки (Все метки)

Ответ

Глава 12. Упражнение 1.

// Занятия по книге Стивена Праты "Язык программирования С++" (2013, 6-е изд.).
// Упражнения по программированию. Глава 11, страница 656, упражнение 1.

Имеется следующее объявление класса:
class Cow {
char name[2 0];
char * hobby;
double weight;
public:
Cow ();
Cow (const char * nm, const char * ho, double wt) ;
Cow(const Cow c&);
~Cow() ;
Cow & operator= (const Cow & c) ;
void ShowCowO const; // отображение всех данных cow
};
Напишите реализацию для этого класса и короткую программу, использующую
все функции-члены.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//cow.h
class Cow {
    char name[20];
    char * hobby;
    double weight;
public:
    Cow();
    Cow(const char * nm, const char * ho, double wt);
    Cow (const Cow & c);
    ~Cow();
    Cow & operator= (const Cow & c);
    void ShowCow() const; // отображение всех данных cow 
};
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
//cow.cpp
#define _CRT_SECURE_NO_WARNINGS
#include "cow.h"
#include <iostream>
 
Cow::Cow()
{
    std::cout << "Вызван конструктор по умолчанию" << std::endl;
    name[0] = '\0';
    hobby = new char[1];
    hobby[0] = '\0';
    weight = 0;
}
Cow::Cow(const char * nm, const char * ho, double wt)
{
    std::cout << "Вызван конструктор " << std::endl;
    std::strncpy(name, nm, 20);
    hobby = new char[std::strlen(ho) + 1];
    std::strcpy(hobby, ho);
    weight = wt;
}
 
Cow::Cow(const Cow & c)
{
    std::cout << "Вызван конструктор копирования " << std::endl;
    strncpy(name, c.name, 20);
    hobby = new char[strlen(c.hobby) + 1];
    strcpy(hobby, c.hobby);
    weight = c.weight;
}
Cow::~Cow()
{
    std::cout << "Вызван деструктор:" << std::endl;
    delete[] hobby;
}
 
Cow & Cow::operator=(const Cow & c)
{
    std::cout << "Вызвана операция присваивания" << std::endl;
    if (&c == this)
        return *this;
    delete[] hobby;
    strncpy(name, c.name, 20);
    hobby = new char[strlen(c.hobby) + 1];
    strcpy(hobby, c.hobby);
    weight = c.weight;
    return *this;
}
 
void Cow::ShowCow() const
{
    std::cout << "name: " << name << std::endl;
    std::cout << "hobby: " << hobby << std::endl;
    std::cout << "weight: " << weight << std::endl;
}
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
//user.cpp
#include <iostream>
#include "cow.h"
 
using namespace std;
 
int main()
{
    {
        setlocale(LC_ALL, "Russian");
        
 
        cout << "Корова №1:\n";
        Cow Cow1;
        cout << "Корова №2:\n";
        Cow Cow2("Кирюша", "Музыка", 89);
        cout << "Корова №3:\n";
        Cow Cow3 = Cow2;
        cout << "Корова №4:\n";
        Cow Cow4;
        Cow4 = Cow2;
 
 
        cout << "---------------------" << endl;
        cout << "Корова №1:\n";
        Cow1.ShowCow();
        cout << "Корова №2:\n";
        Cow2.ShowCow();
        cout << "Корова №3:\n";
        Cow3.ShowCow();
        cout << "Корова №4:\n";
        Cow4.ShowCow();
 
        cout << "---------------------" << endl;
        cout << "Все!\n";
    }   
    cin.get();
    return 0;
}


Вернуться к обсуждению:
Решение всех задач из учебника Стивена Прата
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.06.2015, 19:09

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Вклады, простые и сложные проценты (вопрос из учебника С. Прата)
Изучаю книгу С. Прата. В главе 5 у него присутствует такая задача: Дафна сделала вклад на сумму...

Программа из учебника Прата. Структуры в многофайловом приложении. Исправить недочеты в коде
Посмотрите, пожалуйста, что где исправить. int fill()-для заполнения массива all-для вывода суммы...

Объясните решение задачи из учебника
Книга &quot;Курс теории вероятностей&quot; Б.В. Гнеденко, серия &quot;Классический университетский учебник&quot;, 2005...

читаю главу 10 книги стивена праты - "объекты и классы". автор во всех примерах поступает следуйщим образм: объявляет класс в одном фаиле...
...а реализует функции в другом - в том котором создаёт и ползуется объектом. у меня вопросс: а не...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.