C++ :: Constructor Exercise - Creating A Class Called Screen With Some Specifications

Feb 15, 2014

This exercise is from C++ primer 5th edition. I have not understood everything about constructors, mainly about how they function.

Work prior to the exercise was creating a class called screen with some specifications. This is the class:

Code:
class screen{
public:
using pos = string::size_type;
screen() = default;
private:
pos height = 0;
pos width = 0;
pos cursor = 0;
string contents;
};

The exercise goes as follows:

Exercise 7.24: Give your Screen class three constructors: a defaultconstructor; a constructor that takes values for height and width and initializes the contents to hold the given number of blanks; and a constructor that takes values for height, width, and a character to use as the contents of the screen.

Giving the screen a default constructor was easy. The next part is probably easy aswell, I just dont understand what they mean when they say "and initalize the contents to hold the given number of blanks" and something in the 3rd part when they say "character to use as the contents of the screen".

Think I have made a breakthrough... Would the constructor for the second part look like this:

screen(pos ht, pos wd) : contents(ht*wd) {}

or something?

View 8 Replies


ADVERTISEMENT

C++ :: Can A Class Constructor Be Called Like A Method?

May 17, 2013

When the below is done, does it call the constroctor only, and if yes, constructors do not have return types so how does it work? is there anything behind the scene?

wxAddHandler(new wxPNG_HANDLER);
and
sf::RenderWindow(sf::VideoMode(...),...);

View 6 Replies View Related

C++ :: Creating A Class Called Time - Operator Overloading

Feb 18, 2015

I am creating a class called time and we've had to do operator overloading for <, > , <=, >=, ==, !=, ++, --, >>, <<, * , +, and -.

Well I have done and error checked them all. The only one I cannot seem to get right is the minus and its because of the error checking. I am having issues with times like this

t1 = 0:0:2:3
t2 = 0:0:1:4

t1 - t2 should equal 0:0:0:59 but it returns 0:0:1:-1.
(days:hours:minutes:seconds)

I need it to check for all cases and I just do not know how. Here is the code I have so far:

time operator- (const time& x, const time& y){
time subtract;
subtract.days = x.days - y.days;
subtract.hrs = x.hrs - y.hrs;
subtract.mins = x.mins - y.mins;
subtract.secs = x.secs - y.secs;

[Code] .....

View 1 Replies View Related

C++ :: Creating One Class Object In Constructor Of Another Class

Sep 20, 2013

Suppose I have two classes A and B so how to access object of class A in constructor of B's class as a parameter.

View 6 Replies View Related

C++ :: When A Copy Constructor Is Called

Apr 27, 2013

The following are the cases when copy constructor is called.

1)When instantiating one object and initializing it with values from another object.
2)When passing an object by value.
3)When an object is returned from a function by value.

I don't understand #2 How can and object be passed by value? when I think of passing object I think of passing by address or reference. explain

I don't understand #3 how can a function returned object by value I think of again passing by address or reference.

View 4 Replies View Related

C++ :: Why Copy Constructor Called 2 Times

Sep 15, 2013

I was wondering that why in the below code, the copy constructor is called 2 times.

Code:
class A {
private:
static int count;
int age;
public:
A()

[code].....

I think that when f(a) is called, since I am passing this as value, no copy constructor should be called. The copy constructor should called when the return object "x" is assigned to:

A b = x;

why copy constructor called 2 times?

View 9 Replies View Related

C# :: Mvvm Light Constructor Not Being Called

Dec 6, 2014

I can't get my 'Front End' view model's constructor to be called. If i remove my dependency from the mvvm-light framework and use MSDN mvvm paterns then the constructor is called. What am i doing wrong. It seem like there is a data context binding issue between my XMAL and my view model backing.

ViewModelLocator.cs
using GalaSoft.MvvmLight.Ioc;
using Microsoft.Practices.ServiceLocation;
using Point_Of_Sale.Model;
using System.Collections.Generic;
namespace Point_Of_Sale.ViewModel {
public class ViewModelLocator

[Code] ......

View 1 Replies View Related

C/C++ :: Why Overloaded Copy Constructor Is Not Getting Called Here

Nov 19, 2012

#include<iostream>
using namespace std;
class Cents {  
public:
  int m_nCents;
   Cents(int nCents=0):m_nCents(nCents){
       cout<<"Calling normal constructor with value:";   m_nCents = nCents;
       cout<<m_nCents<<endl;

[code].....

Question is :Why is the overloaded copy constructor that I have written not getting called here?Internally default copy constructor is getting called.Thats why we get value of obj2.m_nCents as 37.

View 6 Replies View Related

C++ :: Copy Constructor Not Called In Virtual Inheritance

Apr 10, 2013

I have the following classes and 'dreaded diamond':

A
/
/
B C
/
/
D
|
|
E

Classes B & C both inherit from A using public virtual A.

E is the only concrete class. None of the classes are totally abstract.

Every class has a copy constructor.

All of the copy constructors are chained together through the initialization lists.

E correctly calls D's copy constructor.

D correctly calls B and C's copy constructors.

But neither B nor C call A's copy constructor, although A's default constructor is called. To reiterate B and C have a call to A's copy constructor in their initialization lists.

I guess A's default constructor is being called is because of virtual inheritence, but why isn't its copy constructor called (too)?

A's copy constructor includes some very important code and I could do with calling it. Should I call it from the concrete class' initialization list or is that considered bad form?

View 8 Replies View Related

C/C++ :: Call To Move Constructor When Vector Pushback Is Called

Dec 29, 2014

#include <vector>
#include <iostream>
#include <iterator>

[Code]....

I am confused for first call to push_back copy constructor is called for second call I am expecting it to move class instance to new memory location there by trigering move and then inserting second class instance expected call:

Copy constructor
Move constructor
Copy constructor
but its calling
Copy constructor
Copy constructor
Move constructor

View 6 Replies View Related

C++ :: Derived Class Constructor Using Base Class Constructor?

Jan 1, 2013

Is this example correct? This example from a book

Constructor of the Base Class
Person::Person(char* n="", char* nat="U.S.A", int s=1)
{
name = n;
nationality = nat;
sex = s;
}

Constructor of the Derived Class (inherited from the base class)

Student(char* n, int s=0, char* i=""):
Person(n, s)

Why the initialized list of the base class constructor doesn't match the initialized list of the derived class constructor? I know this book is a little bit old, I'm not sure if this wrong in VC++ 2010?

View 5 Replies View Related

C++ :: Creating Object Without Default Constructor

Jun 24, 2013

I have a question about the default constructor.

To my best understanding, the compiler will provide me with a deafult constructor only if there are no any user defined constructors, at all. Now consider the following code:

Code: class MyClass
{
private:
int m_data;
public:
MyClass(int init):m_data(init){cout<<"Ctr called"<<endl;}

[Code] ....

How is it that suddenly, there is a default constructor?

View 3 Replies View Related

C++ :: Can One Constructor Of A Class Call Another Constructor Of The Same Class

Mar 19, 2015

to initialize this object? Why C++ FAQ says no? Here is my code,

Code:
class A
{
public:
A(int x, char c);
A(int x);

[code] ....

I don't have any trouble to call the constructor A(int x, char c) from another constructor A(int x).

View 10 Replies View Related

C++ :: Base Class Function Gets Called

Oct 26, 2012

Here are the classes:

BaseClass.h

Code:
class BaseClass {
public:
BaseClass();
virtual ~BaseClass();
virtual void printStuff() const;

[Code] ....

When I call printStuff, the DerivedClass's function gets called. Now, if I remove the const part from the DerivedClass's printStuff function, we call the BaseClass's printStuff function.

View 4 Replies View Related

C++ :: Tracking From What Class Functions Called At Runtime

Feb 23, 2015

Is there any way to track what functions from what class are called at runtime? What I mean is a list of functions or classes which have been called at runtime.

View 1 Replies View Related

C++ :: Define A Class For A Type Called CounterType

Apr 29, 2014

Define a class for a type called CounterType. An object of this type is used to count things, so it records a count that is a non-negative whole number.

Include a mutator function that sets the counter to a count given as an argument. Include member functions to increase the count by one and to decrease the count by one.

Be sure that no member function allows the value of the counter to become negative.

Also, include a member function that returns the current count value and one that outputs the count. Embed your class definition in a test program and run sufficient tests to verify it all works correctly.

View 3 Replies View Related

C++ :: Initializing Inner-objects Of Base Class From Driven-class Constructor

Jan 6, 2015

Let's say I have a Car object , and it contains inner Engine object.

Code:
struct Car{
Engine mEngine;
};

In order to initialize the engine object NOT by the default constructor (if it has any) , we use initialization semantics:

Code:
Car::Car:
mEngin(arg1,arg2,...)
{
other stuff here
}

Now it gets tricky: Let's say a Car objects has 10 inner objects, each object has about 5 variables in it . Car is a base class for , e.g. , Toyota class. you don't want the Car class to have a constructor with 50 arguments. Can the inner objects of Car be initialized from the base class , e.g. Toyota?

Code:
class Toyota:
Car(...),
mEngine(...),
mGear(..)
{
...
};

The other options are:
1) like said , create a Car constructor which gets 50 arguments, then initialize Car as whole from Toyota - the code becomes less readable and less intuitive
2) Car constructor which get built-objects as arguments and initialize the inner objects with copy constructor . the code gets more readable but then you create many excess objects .

View 5 Replies View Related

C/C++ :: Class Square Composed Of Two Points - Destructor Called Twice

Nov 3, 2014

I have a class Square that is composed of two Points, I pass the former to the Square as references (second ctor) and two Points are created.

The problem is, at the end of the program, 4 Points are now being deleted which suggests that somewhere copies were made (regardless of the references) and the m_p1, m_p2 have different addresses than p1 and p2.

#include <iostream>
using namespace std;
class Point {
public:
Point();
Point(double x,double y);
double printCor() const;

[Code] .....

Even though, the objects were passed to the ctor by references, the copy constructor (compiler generated) for Point was called and now we have two points and an object square with distinct Point objects.

View 3 Replies View Related

C++ :: Invoking Base Class Constructor From Derived Class?

May 15, 2013

I understand it is done like this

// Calling the base class constructor
explicit CCandyBox(double lv, double wv, double hv, const char* str="Candy"): CBox(lv, wv, hv)
{
...
}

But how does the compiler know that you are initializing the base "part" of the object?

Or is this the entire reason initialization lists exist, to separate this confusion?

View 4 Replies View Related

C++ :: Using Constructor Within Constructor In Same Class

Feb 28, 2012

I am trying to use constructor within constructor in the same class. Is that possible. I have tried something and it shows me a error message:

error: type "mainClass" is not a direct base of "glavna"

This is the program I tried:

Code:
class mainClass {
private:
int x,y;

Code] ......

View 6 Replies View Related

C++ ::  Class Safe Array Type Print Function Not Working When Called

Oct 22, 2013

I've created a function where you can choose any bounds for an array based list (positive or negative, as long as the first position is smaller than the last position). However for some reason when I call the print() function in my application program it doesn't do anything. My print function is technically correct (I still have work to do on the output) but I can't figure out why it wont show anything at all. Below is my header, implementation, and main program files, along with results from running the program.

Header File:

//safearrayType Header File
class safeArrayType {
public:
void print() const;
void insertAt(int location, const int& insertItem);
safeArrayType(int firstPlace=0, int maxPlace = 100);

[Code] ....

ResultsEnter the first bound of yourlist: -3(this was my input)
Enter the last bound of yourlist: 7(this was my input)

Press any key to continue...

View 1 Replies View Related

C++ :: Creating Array Of Pointers To Base Class To Point To Derived Class Objects Dynamically

Jan 16, 2013

Please consider the following code :

#include <iostream>
using namespace std;
class superclass;
class subclass1;
class subclass2;

[Code] ....

As you can see I want to create a dynamically allocated storage of references to a parent class each of which can then point to a child class, how ever I do not know how to extract the child class out again from that array so i may access its variable b.

View 2 Replies View Related

C++ :: Class With Enum And Constructor

May 29, 2013

I really confused with constructor (default constructor and constructor with parameters)

I coded this problem

and I worked almost, but I stock in constructor

Code:
class Tier {
public:
enum TIER_MAKE

[Code] ....

This is tier class and I have to finish constructor in class car (for simple, I skip detail code) -red things are the parts from class Tier

Code: Car()
: make(NULL), passengers(0), fuelcap(0.0), efficiency(0.0), tier(Tier::nexen)
{ }

[Code] ....

And someone said default constructor part has to be this

Code:
car( Tier::TIER_MAKE p_tiermaker = Tier::nexen )

//after i skip
but default constructor should be no parameter...? isn't it?

View 1 Replies View Related

C++ :: Class Course / Constructor Errors

Mar 22, 2014

# include <iostream>
# include <cstring>
#include <iomanip>
#include <cmath>
using namespace std;
class Course
// Creating the class Course

[Code] ....

Errors: Warning1warning C4996: 'strncpy': This function or variable may be unsafe. Consider using strncpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.

[Code] .....

I have to create an Array of type Course and then fill its member dats using various member functions. Those errors are caused by some Constructor defect, which I dont really know what it is.

View 2 Replies View Related

C++ ::  Can Use Class Constructor To Run Code In CPP By Itself?

Jan 13, 2015

I recently designed a struct like this

// MyMap.h
typedef std::map<std::string, std::function<void ()>> MyMap;
extern MyMap g_mymap;
// MyMap.cpp
My Map g_mymap;

[Code] ....

It looks useful to implement strategy pattern because it makes a fully separate code block. So I can add a function to the map simply by compiling a source file. It's very simple. I don't need to edit another file.

But when I use it for my existing project, It makes some linking and runtime errors.(vs 2012). I can't recognize exactly why because it is a huge project. Anyway, I have a question that - Is this a safe use of class constructor?

I know that there is no fixed order of running, but in this case I think it doesn't matter. because they are independent. But it is not a common pattern, so I can't decide to use it.

View 3 Replies View Related

C/C++ :: Add Copy Constructor To Class?

Nov 15, 2012

This is my class there is a problem with my copy constructor .. is that correct ??

struct Node {
    Type info;
    Node<Type> *next;
};  
template <class Type>
class Queue

[Code] ....

View 1 Replies View Related







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