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