[comp.lang.c++] Zortech 2.06 bug

horstman@sjsumcs.sjsu.edu (Cay Horstmann) (02/09/90)

I just received an unsolicited update disk for the Zortech compiler--ver. 2.06.
I am impressed, their customer support has really improved. 

So I tested it on some code, and unfortunately it bombed on the very first
module. Here is an extract of the situation:

A class has a private function f(int,int) and a public function f(). 

class A
{	int a;
	int f( int, int );
public:
	A();
	int f();
};

A::A()
{	a = 1;
}

int A::f( int x, int y )
{	return a = x*y;
}

int A::f()
{	return a;
}

int main()
{	A a;
	int n=a.f(); // ZORTECH ERROR: f is private
	return 0;
}
	

AT&T cfront 2.0 accepts this, as it should. Looks like Zortech first
checks for privacy before resolving the overloading. Please fix it, Walter!

Some might argue that this is a stupid practice in the first place, but
I rather like it. From the outside, there is a simple function f() and it
calls some more complicated (maybe recursive) helper function--why not call
that f(...) as well and let the overloader sort it out?

Cay