SSブログ

G++ ReadOnly Property [C++]

参照したWebはもう見つけられないので、メモをのこす。
=== ReadOnly.h ===

#ifndef __READONLY_H__
#define __READONLY_H__
class ReadOnly {
	public:
		ReadOnly();
		~ReadOnly() throw();

		const int &Readonly_int; 
		const char * const Readonly_char_p;

		void set_int(int n);
		void set_char(char* p);
	private:
		int rw_int;
		char rw_char_p[1000];
};
#endif

=== ReadOnly.cpp ===

#include 
#include 
#include 
#include "ReadOnly.h"

ReadOnly::ReadOnly():Readonly_int(rw_int),Readonly_char_p(rw_char_p)  {}

ReadOnly::~ReadOnly() throw(){}

void ReadOnly::set_int(int n){
	rw_int = n;
}
void ReadOnly::set_char(char* p){
	strcpy(rw_char_p,p);
}

=== test_ReadOnly.cpp ===

#include 
#include 
#include "ReadOnly.h"
char w[] ="World";
int main(int argc,char ** argv){
	ReadOnly ro;
	ro.set_int(999);
	ro.set_char("Hello");
	printf("int:%d char:%s\n",ro.Readonly_int,ro.Readonly_char_p);
	// the following three can't be compiled
//	ro.Readonly_int = 100; // assignment of read-only location
//	ro.Readonly_char_p[0] = '\0'; // assignment of read-only location
//	ro.Readonly_char_p = w; // assignment of read-only data-member `ReadOnly::Readonly_char_p'
	return EXIT_SUCCESS;
}


nice!(0) 

nice! 0

deep diffFirefox 設定 ブログトップ

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。