digitalmars.D.bugs - access member error
- existen (12/12) Sep 03 2010 I've got 2 classes:
- Jonathan M Davis (10/25) Sep 03 2010 This is the wrong list to send posts to. All of the posts here come from...
I've got 2 classes:
class A {
	private int _x = 5;
}
class B : A {
	void output() {
		writeln(_x);
	}
}
When I call
(new B).output()
there is no compile-time or run-time errors. Is it correct?
 Sep 03 2010
On Friday 03 September 2010 00:36:11 existen wrote:
 I've got 2 classes:
 
 class A {
 	private int _x = 5;
 }
 
 class B : A {
 	void output() {
 		writeln(_x);
 	}
 }
 
 When I call
 (new B).output()
 there is no compile-time or run-time errors. Is it correct?
This is the wrong list to send posts to. All of the posts here come from the
bug 
tracker. Use digitalmars-d-learn for questions about how D works or how to do 
things in D.
As for your code, it looks just fine to me assuming that A and B are in the
same 
module. private is private to the module, not the class. If A and B are in 
separate modules, then B would not have access to _x, and it wouldn't work. For 
that to work, you'd need to make _x protected. But if they're in the same 
module, then it should work just fine.
- Jonathan M Davis
 Sep 03 2010








 
  
  
  Jonathan M Davis <jmdavisprog gmail.com>
 Jonathan M Davis <jmdavisprog gmail.com>