Re: this newsroup
On 9 Mrz., 20:30, "Paul" <pchris...@yahoo.co.uk> wrote:
SG:
[...]
No this is complete nonsense. I said their model that suggests a nsmf is
part of a class but not part of an object is incorrect, this is not the s=
ame
as saying *ANY* model is incorrect if it doens't make a nsmf part of an
object.
So, you admit that there is a mental model "correct enough" for you
that does not make an NSMF part of any object. Interesting. Where do
you think is the defining difference that makes one such model
"incorrect" and another such model "correct"?
[...] you are speaking total nonsense.
If someone thinks somebody speaks nonsense it is either because this
somebody does speak nonsense or because this someone doesn't
understand what that somebody is talking about.
I'm not sure about whether you understand what a "mental model" is.
The meaning you attatch to the word "object" *depends* on the mental
model. So,
"A NSMF is part of an object"
does translate *according to your mental model* to
"An NSMF is connected/attached to an object" where this
"connection"/"attatchment" basically boils down to the
funny calling syntax and the fact that you are not allowed
to invoke member functions using null pointers.
There is more to it than that. An object is defined in class so an object=
is
defined to have a nsmf if one is declared.
A nsmf has special privaledge to an object its called on.
A nsmf has access to 'this' pointer inside an object.
A nsmf is declared virtual is polymorphic to the object.
An operator overload nsmf gives a specific behaviour to an object.
There are probably alot more reasons.
FYI: You keep using a terminology that is incompatible with the C++
standard's definitions. Example "An object is defined in a class". I
know what *you mean* by this. But what *you mean* by this might be
different to how it is understood. Someone who subscribes to the C++
standard's terminology will interpret "An object is defined in a
class" in a way that makes this "object" a data member of the class it
is defined in:
class foo {
bar datamember;
}
The object datamember is defined in the class foo. You may also want
to check the C++ standard on what exactly "definition" means in the
context the C++ entities one can define (functions, types and objects,
references, ...).
Others might say
"A NSMF is not part of an object"
which translates *according to their mental model* to
"A NSMF is not contained in / not a subregion
of a region of storage".
I have already explained that "part of" does mean the same as "contained
in".
It doesn't mean "contained in" *to you* because you have a different
idea about what exactly an object is.
This interpretation is due to the C++ standard's definition of
"object" to be a "region of storage" because "X is part of a region of
storage" suggests that X be either stored inside that region or that X
be a subregion. However, this is not a contradiction to what you
intended to say about the attatchment between objects and nsmfs.
I have also explained the standards uses the term 'object' to mean any
region of storage. If an object contains a pointer to a nsmf their model
breaks, and this is the case with vtables.
Not at all. There is a differce between "the object contains a pointer
to something" and "the object contains some function.".
There is nothing proffessional about being dumb and ignorant to the fact
that a nsmf can be considered part of an object.
I noticed that you changed your wording to include "can be
considered", this time. Looks like your're heading in the right
direction. :)
You *claim* you agree with me but you still argue.
But there are two distinct issues.
(1) "can be considered to be a part of an object"
(2) "is a part of an object"
On (1) we agree. Never disagreed with you on that one, actually.
Although you seem to have missed that because you accused me of
disagreeing with you on (1) for quite a number of times. On (2) we
don't agree. I tried to make it clear to you that (2) depends on what
exact meaning you attatch to the word "object" (mental model).
And you try to change the
argument
I did not chance my position, ever. Check out all the previous posts.
Look out for proper qualifications like "Given this model" or "using
that definition" etc.
You are either a very confused indivual or
are trying to introduce confusion in an attempt to make yourself appear
intillegent and save face.
or: You kept missing something.
Cheers!
SG