I am doing C++ data structures exercises, and I am still learning some of the more basic concepts. I have a parent class:
template<class T> class linkedListType { public: protected: int count; nodeType<T> *first; nodeType<T> *last; private: };
Derived class:
#include "linkedListType.h" template<class T> class orderedLinkedList: public linkedListType<T> { public: void mergeList(orderedLinkedList<T> &list1, orderedLinkedList<t> &list2) { first = list1.first; ... } private: };
There is more code in my mergeList() function, but I included the line that is giving me problems. The error that my CodeBlocks compiler is giving me is that 'first' was not declared in this scope.
Strangely enough, if I change it to this->first, the error disappears.
1. Why does it not recognise 'first'? 2. Why would this->first work at all? Is the 'this' object a smart pointer?
error C2995: 'foo<l+r> operator *(const foo<s> &,const foo<r> &)' : function template has already been defined see declaration of 'operator *' see reference to class template instantiation 'foo<s>' being compiled with [ s=4 ]
If I change the operator to return a foo<s> it does compile (but that's not the behaviour I need).
if I move the operator to outside the class (removing the 'friend') it does compile and behaves how I need, but I can't access non-public members so I can't write the implementation correctly.
A static function can be called in relation to a particular object by a statement such as the following:
aBox.Afunction(10);
The function has no access to the non-static members of aBox. The same function could also be called without reference to an object. In this case, the statement would be:
CBox::Afunction(10);
where CBox is the class name. Using the class name and the scope resolution operator tells the compiler to which class Afunction() belongs."
Need a C++ constructor to initialize each members of an array. how to give value for for each elements of an array declared as a class object according to the users input.
I'm trying to put file data into members of a class. Remember to type in the file name you want to open. Cool feature right? I just had Dbase.txt so I chose that.
Fixed stuff in the .txt. Now I need to figure out why it only does 1 set and then ends.
#include <cstdio> #include <cstdlib> #include <iostream> #include <fstream> using namespace std; class INFO {
[Code] .....
Dbase.txt: Bob Guy Programmer M 9999.99 40 ------------------ Little Guy Little Brother M 0.0 3 ------------------
Is it generally better to initialize string data members as nullptr or as a zero-size array?
I can understand the former is superior from a memory-use perspective and also not requiring the extra allocation step. However, many string management functions will throw an exception - wcslen for instance - if you pass them a null pointer. Therefore I am finding any performance gained is somewhat wiped out by the extra if(pstString==nullptr) guards I have to use where it is possible a wchar_* may still be at null when the function is called.
If I have an array of some class, and that class has const members, is there some way I can call a custom constructor on elements of the array?
I can't seem to reinitialize an element in foos in the example below. A thread on stack overflow mentioned the copy constructor show allow it, but I get "no match for call to '(Foo) (Foo&)'" when I try it.
I have done some string function (like: "abee" + "1" ) and have "abee1" as string which is the same as abee1. How can I copy the data of abee1 into another array with same size, for example abeeTwo[4][3], using only the name of abbe1 as string ("abee1") not by abee1 directly.
if we don't provide the acces modifiers for base class and we need to manipulate the private data of base class in derived class. Is there anyway to acces the private data members? Here's a coding example
class A { private : int a; }; class B : public class A { public : void displayA() { cout<<a<<endl; } };
how i can acces the a of base class A in derived class B without acces modifiers.
The problem is as following. First, I have 21 arrays named: integer abee1, abee2, ... , abee20 and myarray all with the same dimension of [51][4]. Next, in a loop of 20 circles, I fill myarray with random integers then copy it into abee1-20 (each one per iteration). Then, for each array (abee1-20), I want to calculate sum of all numbers in second column as cost of that array and store it in the a new array called arrayCosts[20][2] ( char arrayName, int arrayCost)- the name of array in the arrayName column and cost of that array into arrayCost column . After that, I want to sort arrayName based on the cost and extract the 3 top array with lowest cost. I know that I should do a search in the array to find these three. Finally, copy these three into 3 new array called elite1, elite2, elite3.I do not know what to do.
1-The following code is for making the sting name of abee1-20 in string made in each step of the loop.
for ( cc = 1 ; cc < 20; cc++) { string String = static_cast<ostringstream*>( &( ostringstream () << cc) )->str(); string array_name = "abee" + String;
I want to use array_name (for example in the first loop which array_name is “abee1” ) for reaching the abee1 (which is a filled array) after dong a search in the array called “arrayCosts”. This search retrieves the name of array but it is string and I want to have the array with the same name.
#include <iostream> int main() { int bit = 1; int init = 0xf ^ (1 << bit); char* c = new char(2); sprintf(c, "%x", init); std::string initVal = std::string("4'h") + c; std::cout << initVal << std::endl; }
Above code is compiling as I expect it to be.
Problem is when I run it, it prompts me the following message:
Out-of-bounds access (ARRAY_VS_SINGLETON). Passing "c" to function "operator +(HSTString const &, char const *)" which uses it as an array. This might corrupt or misinterpret adjacent memory locations.
I have a rather large project which uses a float array for OpenGL but I believe I am reproducing the problem with a simple example below.Essentially I am getting access violation and HEAP CORRUPTION errors when I execute the code below.
#include <iostream> #include <string> #include <sstream> int main(int argc, char** argv) { std::cout << "Please enter in the size of the array you would like to create:
This is a function that is supposed to add two different arrays containing 9 items together, but it has a problem when it comes to doing any actual adding.
Code:
int * add_data(int x[], int y[], int z[]) { int i; char a[9]; for (i=1;i!=9;i++) { printf("%d =x ", x[1]+y[1]); x[1] + y[1]= a[1]; } return a; }
when vpStatus is nonsense and unknown, the vaporPressure should not have a value; and if I calculate out a value for vaporPressure, the vpStatus can be set as known.
I am wondering if there is any set, pair or other structure can hold this two members together, so that when I change one's value, the other guy will also change accordingly.
I am trying to pass multiple args to g_signal_connect through a struct and it's members. I think the problem lies with execlp. I am trying to pass the struct members to it but I keep getting errors. No matter how I format execlp and the struct args, I always get an error. The current error I receive is Bad address. Like I have said before, no matter how I format execlp, I receive some sort of error.
I've been creating an API and I'm now stuck on callbacks. There are many APIs that allow callbacks to class members(e.g. Windows API) using a void pointer to the object. I've searched the internet for hours and I can't find one example of how to use the "hidden object parameter" of an class method pointer that doesn't use std::function/bind or boost::function/bind. Any information on how API's like Windows API are able to use class methods as callbacks