C++ :: Define Virtual Function Compare In Subclass Score?
Mar 26, 2014
I am trying to bend my head around polymorphism but I can't figure out how to use the virtual method properly. I have the following superclass:
Code: class comparable
{
public:
comparable();
virtual bool compare(comparable &other)=0;
}; and the subclass:
Code: class score : public comparable
{
public:
score(string player,int highscore);
bool compare(comparable &other);
string name;
int highscore;
};
My problem is that I do not know how to define the virtual function compare in the subclass score:
Code: bool score::compare(comparable &other){
if(this->highscore > other.???){
...
}
}
How do I tell the compiler that the type is of score?
View 7 Replies
ADVERTISEMENT
Jul 11, 2014
I want to overload pure virtual function from 3rd party SDK class to put my debug messages like that:
errorStatus aXsaction(){printf(_T("
abort transaction"));transactionManager->abortTransaction();}
#define transactionManager->abortTransaction() aXsaction()
But compiler complains on the minus sign:
error C2008: '-' : unexpected in macro definition
Is it possible to trick the compiler?
View 4 Replies
View Related
Aug 22, 2014
I wrote the following program, it can be compiled and run, but there is warning saying that if virtual function is defined, there should be a destructor. How to do that I tried many different ways I can thought of, but none of them works.
#include <iostream>
using namespace std;
class cell_c {
public:
double p;
cell_c() {p=1;}
virtual void print() {cout<<p<<endl;}
[code]....
View 1 Replies
View Related
Oct 21, 2013
I was tasked with creating a program that asks for the scores of three gamers then takes these scores and outputs the highest. I THINK I have the other parts down but I don't know how to get the program to compare the scores and output the highest without having to write a long list of commands comparing playerone to playertwo, then player one to playerthree, then player two to playerone, etc.
#include <iostream>
using namespace std;
int main () {
int playerOne, playerTwo, playerThree;
cout << "Please enter score for Player One: ";
cin >> playerOne;
[Code] .....
View 10 Replies
View Related
Dec 27, 2012
class Parent{
public:
virtual int width();
virtual int height();
int area(){return width()*height();};
[Code] ....
View 10 Replies
View Related
Jul 16, 2012
i want to save similar objects, meaning having same superclass, in an array. Example: I have a superclass vehicle. Class car and truck inherit from vehicle. Now i have a few from both of them an want to put them in an array, vector, set or else. Is this possible in C++ or are there an workarounds? When i remember right, Java and C# offer this feature.
Here again an example:
Code:
class vehicle{
int mMaxSpeed;
} class truck : public vehicle {
int mTrailerLength;
} class car : public vehicle {
[code]....
View 5 Replies
View Related
Mar 21, 2014
Write a function that computes and returns the score for a permutation, i.e. the number of reversals required to make arr[0] == 1.
HAVE TO USE FOLLOWING FORMAT:
Code:
// POST: Returns the number of reversals needed to make arr[0] == 1
// if the reversal game were played on arr
// Note: If arr[0] == 1 initially, then score(arr, n) returns 0 AND this is what i could muster;
[code]....
View 2 Replies
View Related
Sep 25, 2013
have a look-
class Base
{
private:
{
[Code].....
my question is why we can't directly call the member function of the desired class instead of using virtual function.
***********same program using virtual keyword*******************
class Base
{
private:
{
[Code].....
Why we generally prefer the 2nd one i.e with virtual keyword. why we can't directly call the member function of the desired class instead of using virtual function...make me understand this point..
View 5 Replies
View Related
Sep 27, 2013
What I'm trying to do :
struct foo {int x; int y;};
foo function_example(int x, int y) {
foo temp;
temp.x = x;
temp.y = y;
return temp;
}
Works as is, however when I try doing it through seperate class files :
//header file for class example_class
struct foo {int x; int y;};
foo function_example(int x, int y);
//source file for example_class
foo example_class::function_example(int x, int y) {
foo temp;
temp.x = x;
temp.y = y;
return temp;
}
I get an error telling me that foo is undefined, and that declaration of function_example(int x, int y) is incompatible with the declaration of it in the header file.
View 1 Replies
View Related
Feb 17, 2013
I have this header file called Shape.h containing these function declarations. and a Shape.cpp which contains the body of the function. I am not showing it since it is not needed.
//This is from Shapes.h header file
#ifndef SHAPES_H
#define SHAPES_H
#include <iostream>
[Code]....
I have this unfinished Main.cpp because the third line "JuanSanchez::Circle *pCar = new Circle; " is giving me a compiler error "error C2061: syntax error : identifier 'Circle' "
#include "Shapes.h"
int main()
{
const int arrayIndex = 4;
JuanSanchez::Shape *myShape[arrayIndex];
JuanSanchez::Circle *pCar = new Circle;
}
What Could be causing this error?
View 8 Replies
View Related
Dec 10, 2014
I have a function, int teleport_to_game(int,float,float); in my class. My question is should I change the int to define a function to a different type?
View 2 Replies
View Related
Nov 30, 2013
I defined a virtual class and three other classes based on it. I want to use them like this:
int main() {
Dirichlet_t D;
Neumann_t N;
Cauchy_t C;
PDEBoundary_t * B1=& D;
PDEBoundary_t * B2=& N;
PDEBoundary_t * B3=& C;
[Code] .....
but I got two major errors
1: "object f abstract type is not allowed" error.-----why not?
2: "the derived class must implement the inherited pure virtual method"-----Did't I?
View 15 Replies
View Related
Jul 12, 2014
I'm currently making a game and what happens is that during runtime, it suddenly closes and a message is shown in the console saying "Pure virtual function called at runtime".
Here is the code: [URL]
The problem seems to occur somewhere between lines 662 - 695. And it seems to only happen when the size of the vector reaches 1.
View 2 Replies
View Related
Feb 10, 2013
class IFoo {
virtual void Bar() = 0;
};
class FooAbstract {
virtual void Bar() {}
[Code] .....
How to call the Bar() method from FooTemplate in FooDerived::Bar()?
View 5 Replies
View Related
Mar 18, 2015
I'm having problem using the click event in a web browser control. I have a control called CIEBrowser that implements a Web control. Here a message_map:
Code:
IMPLEMENT_DYNCREATE(CIEBrowser, CWnd)
BEGIN_MESSAGE_MAP(CIEBrowser, CWnd)
ON_COMMAND_RANGE(ID_IEHOME,ID_IESTOP, OnToolBarCmd)
ON_UPDATE_COMMAND_UI_RANGE(ID_IEHOME,ID_IESTOP, OnUpdateToolBarCmd)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTW, 0, 0xFFFF, OnToolTipNotify)
ON_NOTIFY_EX_RANGE(TTN_NEEDTEXTA, 0, 0xFFFF, OnToolTipNotify)
END_MESSAGE_MAP()
I want to implement a derived class called CFulltextCtrl.
Code:
IMPLEMENT_DYNCREATE(CFulltextCtrl, CIEBrowser)
BEGIN_MESSAGE_MAP(CFulltextCtrl, CIEBrowser)
ON_WM_PAINT()
ON_WM_HELPINFO()
END_MESSAGE_MAP()
I have a dialog with a control using this CFulltextCtrl. I can create and show the html perfectly inside the form. But all links inside this control don't work (scenario 1). If I create a form who have a control of the type CIEBrowser, the EXACTLY same html code works perfectly (scenario 2).
In particular, I need that when I click in one link, execute a method called OnClick, who performs all that I need, just like in scenario 2.
This is my DISPATCH_MAP in the derived class (CFulltextCtrl):
Code:
BEGIN_DISPATCH_MAP(CFulltextCtrl, CIEBrowser)
DISP_FUNCTION_ID(CFulltextCtrl,"HTMLELEMENTEVENTS2_ONCLICK", DISPID_HTMLELEMENTEVENTS2_ONCLICK,
OnClick, VT_EMPTY, VTS_DISPATCH)
DISP_FUNCTION_ID(CFulltextCtrl,"HTMLELEMENTEVENTS2_ONKEYDOWN", DISPID_HTMLELEMENTEVENTS2_ONKEYDOWN,
OnKeyDown, VT_EMPTY, VTS_DISPATCH)
DISP_FUNCTION_ID(CFulltextCtrl,"HTMLELEMENTEVENTS2_ONKEYUP", DISPID_HTMLELEMENTEVENTS2_ONKEYUP,
OnKeyUp, VT_EMPTY, VTS_DISPATCH)
END_DISPATCH_MAP()
View 5 Replies
View Related
May 10, 2014
Instead of this:
#include <iostream>
struct Object {
int size; // Want to avoid this because size is (almost always) constant
Object (int s): size(s) {} // for every Object subtype.
[Code] ....
I want this:
#include <iostream>
struct Object {
virtual int getSize() const = 0;
};
struct Block: Object {
int getSize() const {return 5;} // always 5, except once in a blue moon it may change
[Code] ....
The Decorator Pattern works (getSize() can then return 6) but it is a poor choice for my program because it will cause more problems (due to many containers holding its old address, among other things. Any way to achieve this without any change of address, and without creating new storage somewhere, either inside the class or outside the class (too much responsibility to follow that stored value for the rest of the program just for this rare change, and creating a data member uses up too much memory for the many, many Block instances)?
View 5 Replies
View Related
Mar 16, 2013
Let's look at this simplified code, it gives compilation error
#include <iostream>
using namespace std;
class A {
public:
void showInfo() { cout << " This is an instance of A" << endl; }
[Code] ....
Without using pointer, how to make this works?
View 8 Replies
View Related
Jul 29, 2014
I have found that when I dump a C++ object from memory to a file - it seems that there is a misplacement of the last Virtual-Function-Table pointer - in that appears at the beginning. The result is that the gdump information based on this object dump (using green hills) is incorrect. I copied the contents of the gdump information below. The executable is compiled in linux.
Basically MEIO::CameraStatus contains an item that relates to its parent class (line 188). Then it has 18 items that are all Diagnostics::EventsCounter items. Now for each Diagnostics::EventsCounter item there is a Virtual-Function-Table Info Pointer as its last item. All is fine and good except that the last item of MEIO::CameraStatus which is _selfReset is missing its last item of 4 bytes (which is the Virtual-Function-Table Info Pointer ). On the other hand - right before the first Diagnostics::EventsCounter item ("_vidErrors") - there is an extra 4 bytes which happens to be the Virtual-Function-Table Info Pointer. As I said the gdump information file does not see this.
Why the object memory "moves" the last Virtual-Function-Table Info Pointer to the beginning (right before _vidErrors) and is there a way to "fix" this?
///////////////////////////////////////////////////////////////////////////
"MEIO::CameraStatus" val:0x000002f0 ind208,-1) Struct-Begin Info
188: "" offset 0, Parent-Class Private Info C++ Struct ref = 114
189: "_vidErrors" offset 160, Member Info C++ Struct ref = 128
190: "_vdiErrors" offset 480, Member Info C++ Struct ref = 128
[Code] .....
View 4 Replies
View Related
Aug 27, 2014
#include <stdio.h>
float total, avg, max, min;
float judge[4];
int index;
int array[4];
int main() {
total = 0.0;
max = array[0];
min = array[0];
[Code] ....
I dont understand how to make the array when it prints out only print out the final average and the final maximum score with the final minimum score but what its doing at the moment is just giving an average for each individual score taken...
Minimum and maximum scores are displaying 0.0
And it displays these things 4 times in a row i just want it to be displayed once.
View 1 Replies
View Related
Oct 18, 2014
How can I declare a set of strings that i want to be ordered by a boolean function Comp? Like the one you would write in
sort(v.begin(), v.end(), comp);
I tried
set<string, Comp> S;
but it doesn't work
And the same question for priority queues, can you specify the function you want your elements to be sorted by?
View 4 Replies
View Related
Feb 10, 2015
I have an assignment in my OOP c++ class and I had to create a class called date and one of the member functions is a compare function that compares two dates that are taken in. It is suppose to be something like this:
Date d1(12,25,2003);// Dec 25, 2003
Date d2(5,18,2002);// May 18, 2002
d1.Compare(d2);// returns 1 (since d2 comes first)
d2.Compare(d1);// returns -1 (calling object is d2, comes first)
Then if d1 and d2 are equal then it returns 0.
This is what he gave us to start with the function:
int Date::Compare(const Date& d) {
}
View 11 Replies
View Related
Dec 5, 2014
I'm writing a class "Property" for a program that manages different types of properties. This is my .h for y base class. I was trying to write a virtual void function to convert different children classes to strings that can be displayed, but Xcode is freaking out.
I had it as:
virtual void toString()= 0;
and it gave me an error message: "Virtual can only exist in non-static member functions" and "field has incomplete type 'void'"
I changed it to:
virtual string toString() = 0;
and the error message didn't change.
Is this an issue with Xcode or did I do something wrong? Even after changing it to string it told me that it "has incomplete type 'void'"....
View 1 Replies
View Related
Sep 7, 2013
I was wondering about the function strcmp(), does the function compare word with spaces? eg: If I have two same words "Harith Javed"; will it match both words??
View 8 Replies
View Related
Mar 1, 2013
I am developing a program that will read a function (x^2+2x+4 or other function) and then comparing and start assigning variables. My idea is with an array:
int i,x;
char xs;
char function[20];
cin.getline(function, 20);
cout << "Your function is: ";
[Code] .....
Well this is my basically idea, but when the program detect an ^ this will be associate with the exp(x,n); well in general the user enter a function: x^3+3x^2+4x-8 give a value for x for example 3 and the program will convert in -- exp(3,3)+3*exp(3,2)+4*3-8 --, but I don't know how.
View 2 Replies
View Related
Feb 18, 2013
Modify your code by adding your own tests to see if your functions work right. Include at least 6 separate tests, of your choosing.
For example, test the compare function with the first parameter as a blank string -- then with the 2nd as a blank -- then both. Test compare with the first string shorter than the second -- then the other way around. Test your copy function with long strings.
I am struggling with how to use the compare function with a parameter as a blank string. I tried leaving the first parameter blank but doing ("",text) but I don't think that is the correct way of doing this.
#include <cstring>
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
int myStrLen(const char[]); // return length of null-terminated string stored in char array
[Code] ....
View 2 Replies
View Related
Oct 21, 2014
The question is to write a recursive boolean function that compares two stacks and returns true if they are identical. This is where I get stuck:
If the top items of both stacks are the same, the recursive call always returns true, because 'true' is saved on top of the return stack.
Here is my code:
template<class Type>
bool identicals(stackType<Type> s1, stackType<Type> s2) {
if(!s1.isEmptyStack() && !s2.isEmptyStack()) {
if(s1.top() != s2.top())
[Code] ....
View 2 Replies
View Related