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

Массив объектов класса. Печать строк-членов класса. - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дано целое число N>0.Найти сумму 1+1/2+1/3...1/N http://www.cyberforum.ru/cpp-beginners/thread182410.html
Дано целое число N>0.Найти сумму 1+1/2+1/3...1/N
C++ Как узнать, какие файлы лежат в каталоге Добрый день! Как узнать какие файлы лежат в каталоге, мне это нужно, чтобы можно было конфигурировать программу через файл настройки, алгоритм конфигурации зашифрован в имени файла, пишу на MFC. http://www.cyberforum.ru/cpp-beginners/thread182407.html
Вывод информации о файле C++
Помогите написать программу на с++, использующую сведения о формате файла и выводящую информацию об обрабатываемом файле вида,например если это картинка то - размер изображения, глубина цвета,количество слоев,ширина высота изображение и т.д.
Поиск в строках с помощью strstr C++
Помогите блондинке!!! как воспользоваться функцией char *strstr(const char *s1, const char *kor); если мне потом нужно все совпадения вывести на экран то что писать?
C++ ввод двумерного массива по строкам http://www.cyberforum.ru/cpp-beginners/thread182395.html
Подскажите пожалуйста, как правильно организовать ввод данных с клавиатуры в нединамический двумерный массив. Сколько ни бьюсь над кодом, никак толково не выходит. for (int i=0; i<n; i++) { for (int j=0; j<m; j++) { cout<<"Vvedite element massiva: "<<endl; cin>>a; (n и m задаются как константы) но хотелось бы, чтобы все-таки ввод был по строкам.
C++ Работа с файлом В файле находятся только целые числа. Определить, имеет ли последовательность чисел, находядящихся в файле, нечетную длину, если да то переменной middle присвоить значение среднего елемента файла. В противном случаи присвоить ей значение первого числаю!! Прогу нужно напистать чтобы можно было указывать адрес файла: char n; cin>>n; вопрос в том как это можно сделать не использую... подробнее

Показать сообщение отдельно
st_dent
64 / 64 / 3
Регистрация: 05.07.2010
Сообщений: 219

Массив объектов класса. Печать строк-членов класса. - C++

27.10.2010, 16:20. Просмотров 1735. Ответов 1
Метки (Все метки)

подскажите, как распечатать строки?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "myString.h"
#include <iostream>
 
#define stop __asm nop
 
void main()
{
using namespace std;
 
    //Объявите и проинициализируйте массив ar из трех объектов
    // типа MyString.
        MyString ar[3]={"first","second","third"};
        
    //Проверка - печать строк-членов класса
        
        int s=sizeof(ar)/sizeof(MyString);
        for(int i=0;i<s;++i)
        {
            cout<<ar[i].MyPrint<<"\n";//Здесь ошибка!Как сделать по-другому?
        }
}

Не по теме:

Забыл сам класс выложить


Добавлено через 50 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
#pragma once
class MyString
{
    char* m_pStr;   //строка-член класса
public:
    MyString(const char* pStr );  // объявление конструктора
    ~MyString();           // объявление деструктора
    char* GetString(){return m_pStr;}//inline метод, достающиий строку
    MyString(const MyString&other);//конструктор копирования
    void SetNewString(char*pStr);//заменяем строку на новую
    void MyPrint();
};
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
#include <string>
#include "myString.h"
#include <iostream>
using namespace std;
 
// Определение конструктора.
MyString::MyString(const char*  pStr )
{
    // Динамически выделить требуемое количество памяти.
    m_pStr = new char[strlen( pStr ) + 1];  // + 1, так как 
                        //нулевой байт тоже нужно скопировать
    // Если память выделена, скопировать строку-аргумент в строку-член класса
    strcpy( m_pStr, pStr );
}
 
// Определение деструктора.
MyString::~MyString()
{
    // Освобождение памяти, занятой в конструкторе для строки-члена класса
    delete[] m_pStr;
    //m_pStr=0;
}
MyString::MyString(const MyString&other)
{
    m_pStr=new char[strlen(other.m_pStr)+1];
    strcpy(m_pStr,other.m_pStr);
}
void MyString::SetNewString(char*pStr)
{
    delete [] m_pStr;
    m_pStr=new char[strlen(pStr)+1];
    strcpy(m_pStr,pStr);
}
void MyString::MyPrint()
{
    cout<<m_pStr<<"\n";
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru