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

C++ :: Define To Overload Virtual Function

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

C++ :: Virtual Function Defined / How To Define A Destructor

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

C++ :: Video Game - Compare 3 Players Score And Output Highest

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

C/C++ :: Use Virtual Function In Class In Which Virtual Function Is Defined?

Dec 27, 2012

class Parent{
  public:
virtual int width();
    virtual int height();
    int area(){return width()*height();};

[Code] ....

View 10 Replies View Related

C++ :: Subclass Objects In One Array?

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

C :: Write A Function That Computes And Returns Score For A Permutation

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

C++ :: Alternative Of Virtual Function?

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

C++ :: Using Structs To Define A Function

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

C++ :: Abstract Class And Virtual Function?

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

C++ :: Define A Function With Multiple Types?

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

C++ :: Overload Virtual Member Function In Polymorphism?

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

C++ :: Pure Virtual Function Called At Runtime

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

C++ :: Calling Method Of Specialized Template Base Class In Subclass

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

Visual C++ :: MFC Click Event Not Working Between Parent And Subclass In Web Control

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

C++ :: Changing Virtual Function Output Without Using Any Data Member

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

C++ :: Class Pointer And Virtual Function Couldn't Be Avoided?

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

C++ :: Virtual Function Table Pointer Misplaced In Object Memory

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

C/C++ :: Array To Only Print Out Final Average And Final Maximum Score With Final Minimum Score

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

C++ :: Compare Function On Sets

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

C++ :: OOP Compare Member Function

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

C++ :: Virtual Can Only Exist In Non-static Member Function - Field Has Incomplete Type Void

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

C :: Does Function Compare Word With Spaces

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

C++ :: Read Function - Compare And Assign Variables

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

C++ :: How To Test A Compare Function With Parameter That Is Blank String

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

C++ :: Recursive Boolean Function - Compare Two Stacks And Returns True If Identical

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







Copyrights 2005-15 www.BigResource.com, All rights reserved