Subclass->Base->Subclass help
    Chris Williams 
    littleratblue at yahoo.co.jp
       
    Tue Apr 15 00:20:32 PDT 2008
    
    
  
Well I have some code that causes an access violation under DMD v2.012. I've distilled it down to a mini-program that demonstrates the issue, but I don't know if it's me doing something wrong or what.
Here's the code:
import std.stdio;
class SomeItem {
public:
	bool some_var;
}
class BaseClass {
protected:
	SomeItem alpha;
	
public:
	this(SomeItem si) {
		alpha = si;
		si.some_var = true;
	}
}
class NewItem : SomeItem {
public:
	bool new_var;	
}
class ExtClass : BaseClass {
protected:
	NewItem alpha;
	
public:
	this() {
		NewItem temp = new NewItem();
		temp.new_var = false;
		super(temp);
	}
	
	void test_vals() {
		if (alpha.some_var) {
			writefln("some_var is true");
		}
		
		if (alpha.new_var) {
			writefln("new_var is true");
		}
	}
}
int main(char args[][]) {
	ExtClass test = new ExtClass();
	test.test_vals();
	
	return 0;
}
    
    
More information about the Digitalmars-d-learn
mailing list