|
Still, here constructor is accessed in main() because it is public.
constructor in turn accessed the private member. private member is not accessed in the main.
|
|
|
|
|
If I write my own constructer for the Base Class what Can I do/access/modify with it
thankx
|
|
|
|
|
If a base class has private members, a derived class (or any other for that matter) can access them only by using the friend keyword. Use it with caution, though (overuse of friend is a sign of a bad class designer.)
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
Well normally if you write your own constructer in a derived class what can you do in it
|
|
|
|
|
The access rules apply to all members of a class. Your class should be designed so that the base class constructors and members would Get/Set the private member data within it's direct scope.
To be more clear; any method or data member defined in a class is accessible within that class, regardless of whether it's private, protected or public. Access modifiers control the visibility of methods to derived classes.
Thus a private data member in a base class is visible to methods in that base class. It is not visible, however, to any derived classes (unless friend is used.)
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
The point I was making that to access private members of a base class all you have to do is write your own base contructer (maybe I am just thinking like a Hacker) but.... I am just trying to understand
|
|
|
|
|
Yes. You could do that, provide protected or public methods in the base class to that data or make your derived class a friend of the base class.
If this is a one time initialization and you don't want anyone but derived classes to set this data, make a protected constructor in the base class with the proper parameters and reference that in the constructor initialization list of the derived class.
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
Do I really need to do any of that cann't I just write my own base class contructer since its a base class contructer it should be able to access anything in the base
|
|
|
|
|
yes
Anyone who thinks he has a better idea of what's good for people than people do is a swine.
- P.J. O'Rourke
|
|
|
|
|
Thankx Just helps me understand appreciate it
|
|
|
|
|
I have a text file which has data written to it.. If I open the file, how would I read the data in the file one line at a time, then do something with the data, then read the next line etc
Thanks for your help!
--PerspX
|
|
|
|
|
Look for the ifstream class.
In order to use the ifstream, I tend to #include <fstream>.
MODIFIED: damn < > symbols...
-- modified at 17:29 Wednesday 4th July, 2007
|
|
|
|
|
If u can use MFC, use ReadString() of CStdioFile. It is suitable for ur requirement.
akt
|
|
|
|
|
|
I'd do it like this:
--------------------
// Console.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <string>
#include <iostream>
#include <fstream>
int main(int arvc, char* argv[])
{
using namespace std;
ifstream ifs("C:\\Data.txt");
if (!ifs)
{
cerr << "Failed to open file!" << endl;
return 1;
}
int line_count = 0;
string line;
while (getline(ifs, line))
{
cout << "Line " << ++line_count << ": " << line << endl;
}
return 0;
}
Steve
|
|
|
|
|
Thank you
--PerspX
"Nowadays, security guys break the Mac every single day. Every single day, they come out with a total exploit, your machine can be taken over totally. I dare anybody to do that once a month on the Windows machine." - Bill Gates
|
|
|
|
|
Is there a way to set a process priority using the Win32 API? Does creating more threads increase the time slice allocated for the process for the CPU?
Thanks for your help!
--PerspX
|
|
|
|
|
You can change the process's priority class with SetPriorityClass(), or the priority for a thread with SetThreadPriority().
|
|
|
|
|
Perspx wrote: Does creating more threads increase the time slice allocated for the process for the CPU?
At the kernel level there is a linked list of executing threads for each priority level. So increasing the number of threads in your application could in theory increase the number of time slices relative to other processes of the same priority. But adding more threads does not always mean better performance as you will also be increasing the number of context switches which are expensive.
Best Wishes,
-Randor (David Delaune)
|
|
|
|
|
|
Thank you everybody you have shed some more light on the matter
--PerspX
"Nowadays, security guys break the Mac every single day. Every single day, they come out with a total exploit, your machine can be taken over totally. I dare anybody to do that once a month on the Windows machine." - Bill Gates
|
|
|
|
|
|
What is menat by the fact that windows handles are passed from one thread to another. What does it imply and when is it used? Also why is it that if the wrapping C++ windows objects are passed from one thread to another unexpected results occur.
|
|
|
|
|
Passing a pointer to a CWnd object between threads is not safe since the CWnd object is not created by the other thread(s).
Thread uses local storage to map window handles, therefore object that was passed by a pointer may have (and most certainly do) different handle mapped to it. Use handle of a window attached to the CWnd object instead, and post/send messages using this handle.
"A good athlete is the result of a good and worthy opponent." - David Crow
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
I am desgning an addition of Visual Studio makefile solution which contains only one project
I figure I'll make my code another project in C++ maybe use .NET (the orignal code/project/solution is C)
The project I am writting contains 3 classes
The first Class is Global as there is only 1 instance
by that I mean it should be able to be accessed by all functions within the project('s) there are locking mechinism to ensure single threading/proper access
I thought about writting this CLass as a DLL
Few questions come to mind
1) can I keep all three class in the same project
2) Should I export and import the entire class e.g.
Class _declspec(dllexport) DllClass
{
and conversely in the program using the DLL
Class _declspec(dllimport) DllClass
{
or maybe only certin methods or data members
3) do I need to decalre all members and methods
as static
4) Do I a LoadLibrary/GetProcAddress ??
if I use the dllexport/dllimport do I still need
to do a LoadLibrary/GetprocAddress call ??
Thankx in advance
|
|
|
|