Search Results

Search found 20663 results on 827 pages for 'multiple inheritance'.

Page 90/827 | < Previous Page | 86 87 88 89 90 91 92 93 94 95 96 97  | Next Page >

  • Should downcasting be avoided while using a class hierarchy in C++?

    - by neuviemeporte
    Let's say I'm writing an application which works with projects, and exposes different functionality depending on the type of the project. I have a hierarchy of classes for the different types of projects: class AbstractProject { }; class ProjectA : public AbstractProject { }; class ProjectB : public AbstractProject { }; class ProjectC : public AbstractProject { }; Now, I was planning to have an AbstractProject *_currentProject pointer as a member in the application's main class, pop up a dialog box on startup and based on the selection, do: _currentProject = new ProjectB(); // e.g. Later, I'll have to downcast the pointer to the specific type to utilize the functionality specific to different Project-s. Somehow this makes me feel uneasy. Is there a Better Way of doing this?

    Read the article

  • Nhibernate Common columns in base class

    - by sukh
    I want to design following scenario Base class (Id, Name, order, Value) 3 Derived classes derive1, derive2, derive3 inheriting properties from base There is no table for base class. And 1 table for each derived class. 3 tables have same columns. How can I create mapping file ignoring base class? Do I need to create 1 mapping file for each derived class? can I achieve this using only 1 mapping file?

    Read the article

  • Reading a Text file in xcode

    - by Nicolaj Zefting
    First off, I'm a complete beginner. This might be a stupid question, but here it goes: I'm currently working on an App than contains Latin texts that the users can view and read. I'm using Xcode 4 with the storybord function. Theway the app is built: user selects author - then the book - then app shows the text. I am kind of confused because i need to have various text files, depending on the users choice.

    Read the article

  • Base form controls not visible in child form

    - by Kildareflare
    Hello I'm using C#.Net and have a base form that is inherited by several forms. Until yesterday, when the child (derived) form was opened in the designer the base forms controls would be displayed and shown as locked. Now, however the form is simply blank. None of the base forms controls are visible in the designer. Everything compiles, builds and runs OK. Has anyone else seen this? I've tried placing a call to the base forms InitializeComponent method in the derived forms OnLoad method but to no avail.

    Read the article

  • Calling base class constructor

    - by The Void
    In the program below, is the line Derived(double y): Base(), y_(y) correct/allowed? That is, does it follow ANSI rules? #include <iostream> class Base { public: Base(): x_(0) { std::cout << "Base default constructor called" << std::endl; } Base(int x): x_(x) { std::cout << "Base constructor called with x = " << x << std::endl; } void display() const { std::cout << x_ << std::endl; } protected: int x_; }; class Derived: public Base { public: Derived(): Base(1), y_(1.2) { std::cout << "Derived default constructor called" << std::endl; } Derived(double y): Base(), y_(y) { std::cout << "Derived constructor called with y = " << y << std::endl; } void display() const { std::cout << Base::x_ << ", " << y_ << std::endl; } private: double y_; }; int main() { Base b1; b1.display(); Derived d1; d1.display(); std::cout << std::endl; Base b2(-9); b2.display(); Derived d2(-8.7); d2.display(); return 0; }

    Read the article

  • Calling base Text method on custom TextBox

    - by The Demigeek
    I'm trying to create a CurrencyTextBox that inherits from TextBox. I'm seeing some really weird behavior that I just don't understand. After lots of testing, I think I can summarize as follows: In the class code, when I access base.Text (to get the textbox's text), I'm actually getting the return value of my overridden Text property. I thought the base keyword would ensure that the underlying object's methods get called. To demonstrate: public class cTestTextBox : System.Windows.Forms.TextBox { string strText = ""; public cTestTextBox() { SetVal("AAA"); base.Text = "TEST"; } public override string Text { get { string s = strText; s = "++" + s + "++"; return s; } } public void SetVal(string val) { strText = val; } } Place this control on a form and set a breakpoint on the constructor. Run the app. Hover your mouse over the base.Text expression. Note that the tooltip shows you the value of the overridden property, not the base property. Execute the SetVal() statement and again hover your mouse over the base.Text expression. Note that the tooltop shows you the value of the overridden property, not the base property. How do I reliably access the Text property of the textbox from which I'm inheriting?

    Read the article

  • scala: defining a tratit and referencing the corresponding companion object

    - by opensas
    I'm trying to define a trait that uses the corresponding companion object, that is, the componion object of the class using the trait. for example, I have: :paste class Parent { def callMyCompanion = print(Parent.salute) } object Parent { def salute = "Hello from Parent companion object" } class Child extends Parent { } object Child { def salute = "Hello from Child companion object" } And then I create a parent object: scala> val p = new Parent() p: Parent = Parent@1ecf669 scala> p.callMyCompanion Hello from Parent companion object But with a child: scala> val c = new Child() c: Child = Child@4fd986 scala> c.callMyCompanion Hello from Parent companion object I'd like to get: Hello from Child companion object How can I achieve it???

    Read the article

  • Are private members inherited in C#?

    - by Petr
    Just seen one tutorial saying that: Class Dog { private string Name; } Class SuperDog:Dog { private string Mood; } Then there was an UML displaying that SuperDog will inherit Name as well. I have tried but to me it seems that only public members are inherited. At least I could not access Name unless it was declared as public.

    Read the article

  • C# casting question: from IEnumerable to custom type

    - by Sarah Vessels
    I have a custom class called Rows that implements IEnumerable<Row>. I often use LINQ queries on Rows instances: Rows rows = new Rows { row1, row2, row3 }; IEnumerable<Row> particularRows = rows.Where<Row>(row => condition); What I would like is to be able to do the following: Rows rows = new Rows { row1, row2, row3 }; Rows particularRows = (Rows)rows.Where<Row>(row => condition); However, I get a "System.InvalidCastException: Unable to cast object of type 'WhereEnumerableIterator1[NS.Row]' to type 'NS.Rows'". I do have a Rows constructor taking IEnumerable<Row>, so I could do: Rows rows = new Rows { row1, row2, row3 }; Rows particularRows = new Rows(rows.Where<Row>(row => condition)); This seems bulky, however, and I would love to be able to cast an IEnumerable<Row> to be a Rows since Rows implements IEnumerable<Row>. Any ideas?

    Read the article

  • Assigning two strings together getting Access Read Violation

    - by Jay Bell
    I am trying to pass a string to a class mutator and set the private member to that string here is the code that is sending the string void parseTradePairs(Exchange::Currency *curr, std::string *response, int begin, int exit) { int start; int end; string temp; string dataResponse; CURL *tempCurl; initializeCurl(tempCurl); int location = response->find("marketid", begin); if(location <= exit) { start = location + 11; begin = response->find("label", start); end = begin - start - 3; findStrings(start, end, temp, response); getMarketInfo(tempCurl, temp, dataResponse); curr->_coin->setExch(temp); // here is the line of code that is sending the string dataResponse >> *(curr->_coin); curr->_next = new Exchange::Currency(curr, curr->_position + 1); parseTradePairs(curr->_next, response, begin, exit); } } and here is the mutator within the coin class that is receiving the string and assigning it to _exch void Coin::setExch(string exch) { _exch = exch; } I have stepped through it and made sure that exch has the string in it. "105" but soon as it hits _exch = exch; I get the reading violation. I tried passing as pointer as well. I do not believe it should go out of scope. and the string variable in the class is initialized to zero in the default constructor but again that should matter unless I am trying to read from it instead of writing to it. /* defualt constructor */ Coin::Coin() { _id = ""; _label = ""; _code= ""; _name = ""; _marketCoin = ""; _volume = 0; _last = 0; _exch = ""; } Exchange::Exchange(std::string str) { _exch = str; _currencies = new Currency; std::string pair; std::string response; CURL *curl; initializeCurl(curl); getTradePairs(curl, response); int exit = response.find_last_of("marketid"); parseTradePairs(_currencies, &response, 0, exit); } int main(void) { CURL *curl; string str; string id; Coin coin1; initializeCurl(curl); Exchange ex("cryptsy"); curl_easy_cleanup(curl); system("pause"); return 0; } class Exchange { public: typedef struct Currency { Currency(Coin *coin, Currency *next, Currency *prev, int position) : _coin(coin), _next(next), _prev(prev), _position(position) {} Currency(Currency *prev, int position) : _prev(prev), _position(position), _next(NULL), _coin(&Coin()){} Currency() : _next(NULL), _prev(NULL), _position(0) {} Coin *_coin; Currency *_next; Currency *_prev; int _position; }; /* constructor and destructor */ Exchange(); Exchange(std::string str); ~Exchange(); /* Assignment operator */ Exchange& operator =(const Exchange& copyExchange); /* Parse Cryptsy Pairs */ friend void parseTradePairs(Currency *curr, std::string *response, int begin, int exit); private: std::string _exch; Currency *_currencies; }; here is what i changed it to to fix it. typedef struct Currency { Currency(Coin *coin, Currency *next, Currency *prev, int position) : _coin(coin), _next(next), _prev(prev), _position(position) {} Currency(Currency *prev, int position) : _prev(prev), _position(position), _next(NULL), _coin(&Coin()){} Currency() { _next = NULL; _prev = NULL; _position = 0; _coin = new Coin(); } Coin *_coin; Currency *_next; Currency *_prev; int _position; };

    Read the article

  • Class lookup structure array in C++

    - by wyatt
    I'm trying to create a structure array which links input strings to classes as follows: struct {string command; CommandPath cPath;} cPathLookup[] = { {"set an alarm", AlarmCommandPath}, {"send an email", EmailCommandPath}, {"", NULL} }; which will be used as follows: CommandPath *cPath = NULL; string input; getline(cin, input); for(int i = 0; cPathLookup[i] != ""; i++) { if(cPathLookup[i].command == input) cPath = new cPathLookup[i].cPath; } Obviously, this code is meaningless, but I think my intention is apparent - depending on input, I'd like cPath to be initialized as either a new AlarmCommandPath or a new EmailCommandPath. I could handle it with a function returning an instance depending on input, but a whole sequence of ifs just seems inelegant. I should also note that, in case it's not apparent and important, that AlarmCommandPath and EmailCommandPath are derived from CommandPath, and CommandPath is an abstract class. Thanks for any help you can offer. EDIT: I just noticed that, in spite of CommandPath being abstract, I have a declaration: CommandPath *cPath = NULL; in working code. Why does that compile?

    Read the article

  • C++ Dynamic object construction

    - by Rajesh Subramanian
    I have a base class, class Msg { ParseMsg() { ParseMsgData(); ParseTrailer(); } virtual void ParseMsgData() = 0; ParseTrailer(); }; and derived classes, class InitiateMsg { void ParseMsgData() { ... } }; class ReadOperationMsg { void ParseMsgData() { ... } }; class WriteOperationMsg { void ParseMsgData() { ... } }; and the scenario is below, void UsageFunction(string data) { Msg* msg = ParseHeader(data); ParseMsg } Msg* ParseHeader(string data) { Msg *msg = NULL; .... switch() { case 1: msg = new InitiateMsg(); break; case 2: msg = new ReadOperationMsg{(); break; case 3: msg = new WriteOperationMsg{(); break; .... } return msg; } based on the data ParseHeader method will decide which object has to be created, So I have implemented ParseHeader function outside the class where I am using. How can I make the ParseHeader function inside the Msg class and then use it? In C# the same is achieved by defining ParseHeader method as static with in class and use it from outside,

    Read the article

  • Having troubles inheriting base class

    - by Nick
    When I inherit the base class, it's telling me there is no such class This is enhanced.h: class enhanced: public changeDispenser // <--------where error is occuring { public: void changeStatus(); // Function: Lets the user know how much of each coin is in the machine enhanced(int); // Constructor // Sets the Dollar amount to what the User wants void changeLoad(int); // Function: Loads what change the user requests into the Coin Machine int dispenseChange(int); // Function: Takes the users amount of cents requests and dispenses it to the user private: int dollar; }; This is enhanced.cpp: #include "enhanced.h" #include <iostream> using namespace std; enhanced::enhanced(int dol) { dollar = dol; } void enhanced::changeStatus() { cout << dollar << " dollars, "; changeDispenser::changeStatus(); } void enhanced::changeLoad(int d) { dollar = dollar + d; //changeDispenser::changeLoad; } This is changeDispenser.h: class changeDispenser { public: void changeStatus(); // Function: Lets the user know how much of each coin is in the machine changeDispenser(int, int, int, int); // Constructor // Sets the Quarters, Dimes, Nickels, and Pennies to what the User wants void changeLoad(int, int, int, int); // Function: Loads what change the user requests into the Coin Machine int dispenseChange(int); // Function: Takes the users amount of cents requests and dispenses it to the user private: int quarter; int dime; int nickel; int penny; }; I didn't include the driver file or the changeDispenser imp file, but in the driver, these are included #include "changeDispenser.h" #include "enhanced.h"

    Read the article

  • are Hierarchical SIngletons in Java possible?

    - by Zach H
    I've been toying with an interesting idea (No idea if I'll include it in any code, but it's fun to think about) Let's say we have a program that requires a large number of classes, all of a certain subclass. And those classes all need to be singletons. Now, we could write the singleton pattern for each of those classes, but it seems wasteful to write the same code over and over, and we already have a common base class. It would be really nice to create a getSingleton method of A that when called from a subclass, returns a singleton of the B class (cast to class A for simplicity) class A{ public A getSingleton(){ //Wizardry } } class B extends A{ } A blargh = B.getSingleton() A gish = B.getSingleton() if(A == B) System.out.println("It works!") It seems to me that the way to do this would be to recognize and call B's default constructor (assuming we don't need to pass anything in.) I know a little of the black magic of reflection in Java, but i'm not sure if this can be done. Anyone interested in puzzling over this?

    Read the article

  • Ways to make (relatively) safe assumptions about the type of concrete subclasses?

    - by Kylotan
    I have an interface (defined as a abstract base class) that looks like this: class AbstractInterface { public: bool IsRelatedTo(const AbstractInterface& other) const = 0; } And I have an implementation of this (constructors etc omitted): class ConcreteThing { public: bool IsRelatedTo(const AbstractInterface& other) const { return m_ImplObject.has_relationship_to(other.m_ImplObject); } private: ImplementationObject m_ImplObject; } The AbstractInterface forms an interface in Project A, and the ConcreteThing lives in Project B as an implementation of that interface. This is so that code in Project A can access data from Project B without having a direct dependency on it - Project B just has to implement the correct interface. Obviously the line in the body of the IsRelatedTo function cannot compile - that instance of ConcreteThing has an m_ImplObject member, but it can't assume that all AbstractInterfaces do, including the other argument. In my system, I can actually assume that all implementations of AbstractInterface are instances of ConcreteThing (or subclasses thereof), but I'd prefer not to be casting the object to the concrete type in order to get at the private member, or encoding that assumption in a way that will crash without a diagnostic later if this assumption ceases to hold true. I cannot modify ImplementationObject, but I can modify AbstractInterface and ConcreteThing. I also cannot use the standard RTTI mechanism for checking a type prior to casting, or use dynamic_cast for a similar purpose. I have a feeling that I might be able to overload IsRelatedTo with a ConcreteThing argument, but I'm not sure how to call it via the base IsRelatedTo(AbstractInterface) method. It wouldn't get called automatically as it's not a strict reimplementation of that method. Is there a pattern for doing what I want here, allowing me to implement the IsRelatedTo function via ImplementationObject::has_relationship_to(ImplementationObject), without risky casts? (Also, I couldn't think of a good question title - please change it if you have a better one.)

    Read the article

  • Does string inherits from Object in Javascript?

    - by Morgan Cheng
    Is Object the base class of all objects in Javascript, just like other language such as Java & C#? I tried below code in Firefox with Firebug installed. var t = new Object(); var s1 = new String('str'); var s2 = 'str'; console.log(typeof t); console.log(typeof s1); console.log(typeof s2); The console output is object object string So, s1 and s2 are of diffeent type?

    Read the article

  • Why can a public class not inherit from a less visible one?

    - by Dan Tao
    I apologize if this question has been asked before. I've searched SO somewhat and wasn't able to find it. I'm just curious what the rationale behind this design was/is. Obviously I understand that private/internal members of a base type cannot, nor should they, be exposed through a derived public type. But it seems to my naive thinking that the "hidden" parts could easily remain hidden while some base functionality is still shared and a new interface is exposed publicly. I'm thinking of something along these lines: Assembly X internal class InternalClass { protected virtual void DoSomethingProtected() { // Let's say this method provides some useful functionality. // Its visibility is quite limited (only to derived types in // the same assembly), but at least it's there. } } public class PublicClass : InternalClass { public void DoSomethingPublic() { // Now let's say this method is useful enough that this type // should be public. What's keeping us from leveraging the // base functionality laid out in InternalClass's implementation, // without exposing anything that shouldn't be exposed? } } Assembly Y public class OtherPublicClass : PublicClass { // It seems (again, to my naive mind) that this could work. This class // simply wouldn't be able to "see" any of the methods of InternalClass // from AssemblyX directly. But it could still access the public and // protected members of PublicClass that weren't inherited from // InternalClass. Does this make sense? What am I missing? }

    Read the article

  • Container<ImplementerOfIInterface> is not Container<IInterface>. Why not?

    - by Chris Simmons
    Why wouldn't DoesntWork() work below? The error is: Cannot implicitly convert type 'List' to 'IEnumerable'. An explicit conversion exists (are you missing a cast?). I know this is something about generic/templates I'm not getting, but List is IEnumerable and Implementer is an IInterface. I don't see why this needs to be casted (or if it really can be). public interface IInterface { // ... } public class Implementer : IInterface { // ... } IEnumerable<IInterface> DoesntWork() { List<Implementer> result = new List<Implementer>(); return result; }

    Read the article

  • javascript function object's inheritFrom method

    - by gawpertron
    I've come across this.inheritFrom that enables you to inherit from a super class. var superClass = function() { this.foo = 'foo'; this.bar = 'bar'; } var subClass = function() { this.inheritFrom = superClass; this.inheritFrom(); this.myFunction = function() { return this.foo; }; } I've looked in Mozilla and MSDN, but I can't seem to find it documented any where. As far as I can see it works in IE6 and Firefox 3. Any reason why it wouldn't be documented?

    Read the article

  • About calling an subclass' overriding method when casted to its superclass

    - by Omega
    #include <iostream> class Vehicle { public: void greet() { std::cout << "Hello, I'm a vehicle"; } }; class Car : public Vehicle { public: void greet() { std::cout << "Hello, I'm a car"; } }; class Bike : public Vehicle { public: void greet() { std::cout << "Hello, I'm a bike"; } }; void receiveVehicle(Vehicle vehicle) { vehicle.greet(); } int main() { receiveVehicle(Car()); return 0; } As you can see, I'm trying to send a parameter of type Vehicle to a function, which calls greet(). Car and Bike are subclasses of Vehicle. They overwrite greet(). However, I'm getting "Hello, I'm a vehicle". I suppose that this is because receiveVehicle receives a parameter of type Vehicle instead of a specific subclass like Car or Bike. But that's what I want: I want this function to work with any subclass of Vehicle. Why am I not getting the expected output?

    Read the article

  • C# property exactly the same, defined in two places

    - by Sarah Vessels
    I have the following classes: Defect - represents a type of data that can be found in a database FilterQuery - provides a way of querying the database by setting simple Boolean filters Both Defect and FilterQuery implement the same interface: IDefectProperties. This interface specifies particular fields that are in the database. Different classes have methods that return lists of Defect instances. With FilterQuery, you specify some filters for the particular properties implemented as part of IDefectProperties, and then you run the query and get back a list of Defect instances. My problem is that I end up implementing some properties exactly the same in FilterQuery and Defect. The two are inherently different classes, they just share some of the same properties. For example: public DateTime SubmitDateAsDate { get { return DateTime.Parse(SubmitDate); } set { SubmitDate = value.ToString(); } } This is a property required by IDefectProperties that depends on a different property, SubmitDate, which returns a string instead of a DateTime. Now SubmitDate is implemented differently in Defect and FilterQuery, but SubmitDateAsDate is exactly the same. Is there a way that I can define SubmitDateAsDate in only place, but both Defect and FilterQuery provide it as a property? FilterQuery and Defect already inherit from two different classes, and it wouldn't make sense for them to share an ancestor anyway, I think. I am open to suggestions as to my design here as well.

    Read the article

  • C++ - How to call a member function for an inherited object.

    - by Francisco P.
    Hello! I have a few classes (heat, gas, contact, pressure) inheriting from a main one (sensor). I have a need to store them in a vector<Sensor *> (part of the specification). At some point in time, I need to call a function that indiscriminately stores those Sensor *. (also part of the specification, not open for discussion) Something like this: for(size_t i = 0; i < Sensors.size(); ++i) Sensors[i]->storeSensor(os) //os is an ofstream kind of object, passed onwards by reference Where and how shall storeSensor be defined? Is there any simple way to do this or will I need to disregard the specification? Mind you, I'm a beginner! Thanks for your time!

    Read the article

< Previous Page | 86 87 88 89 90 91 92 93 94 95 96 97  | Next Page >