ゲッター・セッターについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
だいだい

ゲッター・セッターについて

#1

投稿記事 by だいだい » 10年前

コード:


class Work
{
private:
   int work[256];
};
int配列のゲッターとセッターはどのようにコードをかけばいいんでしょうか?
誰かお願いします

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: ゲッター・セッターについて

#2

投稿記事 by softya(ソフト屋) » 10年前

どちらかと言うとint work[256];のゲッターとセッターが必要なクラスの設計に危険を感じます。
隠蔽できない代物なのでしょうか?
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

とっち
記事: 56
登録日時: 13年前
住所: 岡山

Re: ゲッター・セッターについて

#3

投稿記事 by とっち » 10年前

一応以下のように書くことで実現できます
しかしのちのちメモリ周りのひどいバグを生む原因となる可能性がありますので、よほど特殊な場合を除いておすすめしません
ソフト屋さんの言われているように隠ぺいするような代替手段を探したほうがいいかもしれません

コード:

class Work{
private:
  int work[256];
public:
  int *getter(){return work;}
  void setter(const int *a){for(int i=0;i<256;i++)work[i]=a[i];}
};

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: ゲッター・セッターについて

#4

投稿記事 by みけCAT » 10年前

1要素ずつ設定/取得する設計もありかもしれません。
今はスマホからの投稿なので具体的なコードは省略しますが、

コード:

int get(int idx);
void set(int idx, int value);
みたいな感じで。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

閉鎖

“C言語何でも質問掲示板” へ戻る