質問編集履歴

2

修正

2018/08/29 10:56

投稿

kasuN
kasuN

スコア14

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- ### 条件として、以下2つを目標としています。
13
+ ### 以下2つを目標としています。
14
14
 
15
15
  ①readは"ALL"の内部クラスである"A"のread()関数で実装
16
16
 
@@ -18,13 +18,39 @@
18
18
 
19
19
 
20
20
 
21
+
22
+
23
+ ### 質問内容
24
+
25
+
26
+
27
+ クラスの構成は、極力変えずに
28
+
21
- しかしread()関数で以下エラーッセージが発生しました。
29
+ 内部クラスのメンバ変数メインクラスのメンバ変数をうく利用
30
+
31
+ ファイルを読み込んで、Aクラスのメンバ変数に値を格納したいです。
32
+
33
+
34
+
35
+ 恐らく、内部クラスとメインクラスの相互関係が分かっていないのだと思っています。
36
+
37
+
38
+
39
+ `内部クラス内で外部クラスのメンバ変数を利用したい。`
40
+
41
+ `また、メインクラスのメンバ変数を内部クラス内で利用したい。`
42
+
43
+
44
+
45
+ ここが理解できれば、、、と思っております。
46
+
47
+
22
48
 
23
49
 
24
50
 
25
51
  ### 発生している問題・エラーメッセージ
26
52
 
27
-
53
+ read()関数で以下のエラーメッセージが発生しました。
28
54
 
29
55
  ```
30
56
 
@@ -192,15 +218,9 @@
192
218
 
193
219
 
194
220
 
195
- ### 質問内容
221
+
196
-
197
-
198
-
199
- クラスの構成は、極力変えずに
222
+
200
-
201
- 内部クラスのメンバ変数、メインクラスのメンバ変数をうまく利用し、
223
+
202
-
203
- ファイルを読み込んで、Aクラスのメンバ変数に値を格納したいです。
204
224
 
205
225
 
206
226
 

1

誤字修正

2018/08/29 10:56

投稿

kasuN
kasuN

スコア14

test CHANGED
File without changes
test CHANGED
@@ -1,10 +1,24 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
+ 度々 お世話になっております。よろしくお願いいたします。
4
+
3
5
 
4
6
 
5
7
  現在、バイナリファイルを読み込み、解析してテキストファイルへ出力するプログラムを作成中です。
6
8
 
9
+ 取り合えず、バイナリファイルを指定バイト数readしようとしています。
10
+
11
+
12
+
13
+ ### 条件として、以下2つを目標としています。
14
+
15
+ ①readは"ALL"の内部クラスである"A"のread()関数で実装
16
+
17
+ ②内部クラスの"A"にあるメンバ変数へreadした値を格納
18
+
19
+
20
+
7
- read()を実装中に以下のエラーメッセージが発生しました。
21
+ しかし、read()関数で以下のエラーメッセージが発生しました。
8
22
 
9
23
 
10
24
 
@@ -18,113 +32,115 @@
18
32
 
19
33
 
20
34
 
35
+ file.read((char*)&a.Size, 4); //error!! 
36
+
37
+   "fileは識別子が定義されていない"
38
+
39
+
40
+
41
+ cout << a.size << endl; //error!!
42
+
43
+   "aは識別子が定義されていない"
44
+
45
+ }
46
+
47
+
48
+
49
+ ```
50
+
51
+
52
+
53
+ ### 該当のソースコード
54
+
55
+
56
+
57
+ ```
58
+
59
+ /* 内部クラスのメンバ変数の使い方 実験 */
60
+
61
+ #include<iostream>
62
+
63
+ #include<fstream>
64
+
65
+ #include<string>
66
+
67
+ using namespace std;
68
+
69
+
70
+
71
+ class A{
72
+
73
+ private:
74
+
75
+ int size;
76
+
77
+ char s[3];
78
+
79
+ long height;
80
+
81
+
82
+
83
+ public:
84
+
85
+ void read();
86
+
87
+ void write();
88
+
89
+ };
90
+
91
+
92
+
93
+ class ALL{
94
+
95
+
96
+
97
+ public:
98
+
99
+ A a; //class Aをaとして宣言
100
+
101
+
102
+
103
+ private:
104
+
105
+   std::ifstream file;
106
+
107
+   std::ofstream outfile;
108
+
109
+
110
+
111
+ public:
112
+
113
+ void open();
114
+
115
+ void close();
116
+
117
+   //void write(); //書き込みはどうするかきまっていない
118
+
119
+
120
+
121
+ };
122
+
123
+
124
+
125
+ void ALL::open(){
126
+
127
+
128
+
129
+ file.open("FileName", ios::in | ios::binary);
130
+
131
+ }
132
+
133
+
134
+
135
+ void A::read(){
136
+
137
+
138
+
21
139
  file.read((char*)&a.Size, 4);
22
140
 
23
141
 
24
142
 
25
- cout <<"start:"<< a.size << endl;
143
+ cout << a.size << endl;
26
-
27
- }
28
-
29
-
30
-
31
- ```
32
-
33
-
34
-
35
- ### 該当のソースコード
36
-
37
-
38
-
39
- ```
40
-
41
- /* 内部クラスのメンバ変数の使い方 実験 */
42
-
43
- #include<iostream>
44
-
45
- #include<fstream>
46
-
47
- #include<string>
48
-
49
- using namespace std;
50
-
51
-
52
-
53
- class A{
54
-
55
- private:
56
-
57
- int size;
58
-
59
- char s[3];
60
-
61
- long height;
62
-
63
-
64
-
65
- public:
66
-
67
- void read();
68
-
69
- void write();
70
-
71
- };
72
-
73
-
74
-
75
- class ALL{
76
-
77
-
78
-
79
- public:
80
-
81
- A a; //class Aをaとして宣言
82
-
83
-
84
-
85
- private:
86
-
87
- std::ifstream file;
88
-
89
- std::ofstream outfile;
90
-
91
-
92
-
93
- public:
94
-
95
- void open();
96
-
97
- //void read();
98
-
99
- void close();
100
-
101
- //void write();
102
-
103
-
104
-
105
- };
106
-
107
-
108
-
109
- void ALL::open(){
110
-
111
-
112
-
113
- file.open("FileName", ios::in | ios::binary);
114
-
115
- }
116
-
117
-
118
-
119
- void A::read(){
120
-
121
-
122
-
123
- file.read((char*)&a.Size, 4);
124
-
125
-
126
-
127
- cout <<"start:"<< a.size << endl;
128
144
 
129
145
  }
130
146
 
@@ -134,7 +150,7 @@
134
150
 
135
151
 
136
152
 
137
- cout << "end:" << a.size << endl;
153
+ cout << a.size << endl;
138
154
 
139
155
 
140
156
 
@@ -154,7 +170,7 @@
154
170
 
155
171
  a.read();
156
172
 
157
- //all.write();
173
+ //a.write();
158
174
 
159
175
  all.colse();
160
176
 
@@ -176,16 +192,16 @@
176
192
 
177
193
 
178
194
 
179
- ### 試したこと
195
+ ### 質問内容
180
-
181
-
182
-
196
+
197
+
198
+
183
- ここ問題に対して試したことを記載してください。
199
+ クラスの構成は、極力変えず
184
-
185
-
186
-
200
+
187
- ### 補足情報(FW/ツールのバージョなど)
201
+ 内部クラスメン変数、メイクラスのメンバ変数をうまく利用し、
188
-
189
-
190
-
202
+
191
- ここより詳細な情報記載てください。
203
+ ファイルを読み込んで、Aクラスのメンバ変数格納です
204
+
205
+
206
+
207
+ ご教授お願い致します。