473,509 Members | 2,963 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

"has-a" question

Leo
Dear All,

Can I do this:

class MyClass()
{
public:
doStuff();
private:
int iNum;
};

MyClass::doStuff()
{
MyClass obj; //Is this ok? Has a object inside itself?
cout << obj.iNum << endl;
}

Thank you very much.

Jan 8 '06 #1
2 1331
GB
Leo wrote:
Dear All,

Can I do this:

class MyClass()
{
public:
doStuff();
private:
int iNum;
};

MyClass::doStuff()
{
MyClass obj; //Is this ok? Has a object inside itself?
cout << obj.iNum << endl;
}

Thank you very much.


Yes. The object is not however inside itself. It exists only for the
duration of the execution of Myclass::doStuff as a separate object from
the one on which MyClass::doStuff is being called (i.e., *this is one
object, and obj is another independent one.

Gregg
Jan 9 '06 #2

"Leo" <xx*@nospam.com> wrote in message
news:dp***********@osf1.gmu.edu...
| Dear All,
|
| Can I do this:
|
| class MyClass()
| {
| public:
| doStuff();
| private:
| int iNum;
| };
|
| MyClass::doStuff()
| {
| MyClass obj; //Is this ok? Has a object inside itself?
| cout << obj.iNum << endl;
| }
|
| Thank you very much.
|

That should have been:
#include <iostream>
#include <ostream>

class MyClass
{
int iNum;
public:
void doStuff();
};

void MyClass::doStuff()
{
MyClass obj;
std::cout << obj.iNum << std::endl; // iNum == garbage
}

You won't get what you expect. the private variable iNum is unitialized
since you are generating a local instance of a MyClass object and no
default ctor has been defined that initializes its internals. Hence the
garbage.

Now consider:

#include <iostream>
#include <ostream>

class MyClass
{
int n;
public:
/* ctor */
MyClass() : n(0) { } // default ctor
MyClass(int i) : n(i) { }
/* d~tor */
~MyClass() { }
/* member function */
int getN() const;
};

int MyClass::getN() const
{
return n;
}

int main()
{
MyClass myclass;
std::cout << myclass.getN() << std::endl; // prints 0, not garbage

MyClass myclass2(99);
std::cout << myclass2.getN() << std::endl; // prints 99

return 0;
}

No more garbage.


Jan 9 '06 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
3083
by: Mohammed Mazid | last post by:
Can anyone please help me on how to move to the next and previous question? Here is a snippet of my code: Private Sub cmdNext_Click() End Sub Private Sub cmdPrevious_Click() showrecord
3
4997
by: Stevey | last post by:
I have the following XML file... <?xml version="1.0"?> <animals> <animal> <name>Tiger</name> <questions> <question index="0">true</question> <question index="1">true</question> </questions>
7
2628
by: nospam | last post by:
Ok, 3rd or is it the 4th time I have asked this question on Partial Types, so, since it seems to me that Partial Types is still in the design or development stages at Microsoft, I am going to ask...
3
3058
by: Ekqvist Marko | last post by:
Hi, I have one Access database table including questions and answers. Now I need to give answer id automatically to questionID column. But I don't know how it is best (fastest) to do? table...
10
3390
by: glenn | last post by:
I am use to programming in php and the way session and post vars are past from fields on one page through to the post page automatically where I can get to their values easily to write to a...
10
3682
by: Rider | last post by:
Hi, simple(?) question about asp.net configuration.. I've installed ASP.NET 2.0 QuickStart Sample successfully. But, When I'm first start application the follow message shown. ========= Server...
53
4020
by: Jeff | last post by:
In the function below, can size ever be 0 (zero)? char *clc_strdup(const char * CLC_RESTRICT s) { size_t size; char *p; clc_assert_not_null(clc_strdup, s); size = strlen(s) + 1;
56
4695
by: spibou | last post by:
In the statement "a *= expression" is expression assumed to be parenthesized ? For example if I write "a *= b+c" is this the same as "a = a * (b+c)" or "a = a * b+c" ?
2
4252
by: Allan Ebdrup | last post by:
Hi, I'm trying to render a Matrix question in my ASP.Net 2.0 page, A matrix question is a question where you have several options that can all be rated according to several possible ratings (from...
6
4888
semanticnotion
by: semanticnotion | last post by:
Hi sir i want to transform the data of one table into another through foreign key but the following error come to my browser Here is my code and data base structure. CREATE TABLE IF NOT...
0
7234
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
7136
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7344
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
5652
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
1
5060
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4730
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3216
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
1570
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
775
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.