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

Обращение к приватному члену класса внутри пространства имён - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Вывести возраст прописью http://www.cyberforum.ru/cpp-beginners/thread393925.html
Помогите решить задачку,вот условие заранее спасибо Дано целое число в диапазоне 20–69, определяющее возраст (в годах). Вывести строку-описание указанного возраста, обеспечив правильное со- гласование числа со словом «год», например: 20 — «двадцать лет», 32 — «тридцать два года», 41 — «сорок один год».
C++ Как настроить изначальный код, который открывается при создании нового проекта Объясните пожалуйста, как в Visual C++ 2008 Express настроить изначальный шаблон кода при создании нового проекта. Например, чтоб каждый раз заново не напечатать все то, что я так и так включаю в любой код. Для примера std::cin или std::cout, или же какой нить заголовочный файл. http://www.cyberforum.ru/cpp-beginners/thread393911.html
Как использовать указатели при работе с массивами? C++
подскажите пожалуйста как правильно использовать указатели при работе с массивами. Как написать этк программу используя указатели? #include<iostream> using namespace std; const int n = 10; int main() { int X = {1,2,3,4,5,6,7,8,9,10}; int Y= {2,3,4,6,7,3,4,5,1,9,}; int Z= {1,2,3,4,5,6,7,8,9,0}; int U;
C++ Динамический массив
Подскажите, как создать двумерный массив mxn, пожалуйста!
C++ Массив строк... http://www.cyberforum.ru/cpp-beginners/thread393895.html
Здравствуйте, помогите пожалуйста, дан файл .txt, в нем неизвестное кол-во символьных строк, надо вывести все строки на экран поочередно, не сразу весь файл вывести! на Си.
C++ построение графика f(x)=x^4+3x-20 Дали задание в универе, График из Mathcad'a нужно нарисовать в C, но для такого нужен Visual C или C#, а я такого уже не знаю. Помогите написать программу или дайте толковый самоучитель как оно делается. f(x)=x^4+3x-20 подробнее

Показать сообщение отдельно
SleepMaster
 Аватар для SleepMaster
40 / 40 / 1
Регистрация: 26.11.2011
Сообщений: 80
28.11.2011, 16:34     Обращение к приватному члену класса внутри пространства имён
Здравствуйте.
Вот у меня есть код:
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
58
59
#include <iostream>
#include <conio.h>
#include <vector>
#include <string>
using namespace std;
 
namespace Pairs
{
 
class Name_pairs
{
    vector<string> name;
    vector<double> age;
public:
    void read_names(Name_pairs&);
    void read_ages(Name_pairs&);
    void sort(Name_pairs&);
    void print(const Name_pairs&) const;
    vector<string> return_names() { return name; }
    vector<double> return_ages() { return age; }
};
 
ostream& operator<< (ostream& os, const Pairs::Name_pairs& na);
bool operator==(Name_pairs& lna, Name_pairs& rna);
bool operator!=(Name_pairs& lna, Name_pairs& rna);
 
} // namespace Pairs;
 
/* Всё делал в одном и том же файле, лень было создавать другой. 
По правилам да, нужно создать файл .h, но по идее, это не важно. */
 
namespace Pairs {
 
// ... определение функций-членов класса Name_pairs
 
// теперь вопрос.
 
 
ostream& operator<<(ostream& os, const Name_pairs& na)
{
    // как обратится к приватному члену класса???
    for (int i=0; i<na.name.size(); i++) // здесь ошибка: нельзя обратится к name.
        return os << "Name: " << na.name[i] << "\tAge: " << na.age[i]; 
// а также не пойму как реализовать здесь, чтобы выводило на экран в цикле.
}
 
}
 
int main()
{
    Pairs::Name_pairs mine;
    mine.read_names(mine);
    mine.read_ages(mine);
    mine.print(mine);
    mine.sort(mine);
    mine.print(mine);
    getch();
    return 0;
}
Вообще, без namespace Pairs всё работает. Как это исправить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 18:38. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru