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


ADVERTISEMENT

C++ :: Destructor Called 2 Time

Apr 8, 2014

Why in this code the destructor is called 2 time? How can i avoid it?

int _tmain(int argc, _TCHAR* argv[]) {
Elenco e1;
std::cout << "Test 2" <<std::endl;
std::cout<<e1.size()<<std::endl;

[Code] ....

View 5 Replies View Related

C++ :: Destructor Is Called After Copy

Sep 17, 2013

Whenever my copy constructor is called, my destructor destroys is immediately after.

My copy constructor

CS1CStudent::CS1CStudent(const CS1CStudent& otherCS1CStudent)
{
cout << "
***************************
";

[Code]....

The copy constructor is called twice, once when you pass an object by value, and once when the object is returned from a function by value. But why is the destructor being called twice?

View 1 Replies View Related

C/C++ :: Destructor Called Just After Declaring Object?

Jan 29, 2015

Why does the destructor is called just after declaring my object?

// MAIN

int main(void) {
Jucarie j1;
Jucarie j2(j1);
return 0;
}

THE DESTRUCTOR

Jucarie::~Jucarie() {
cout << "Destructor called" << endl;
delete[] material;
material = NULL;
}

I do not have a copy constructor, i just want to use the shallow copy. Why i get Debug Assertion Failed error? If i delete the destructor, all work fine.

I get it, the problem occurs when the material from j1 is deleted right? Because it has already been delete by j2.

View 1 Replies View Related

C++ :: Base Class Pointer Destructor

Aug 29, 2014

I have a query regarding virtual destructor functionality. So below is sample code:

Code:
#include<iostream>
#include<stdlib.h>
using namespace std;
class Base

Code: Base *b = d;
Here b and d now pointing to same memory location.

Now below statement:
Code: delete (b);
Here since my destructor is virtual it will call derived class and base class destructor.

Now my question is, if I use this:
Code: delete (d); // And without virtual keyword in ~Base() {} This call both derived and base class destructor.

So which one is correct form to call and why? Is delete(b) is standard in virtual function mechanism.

Output is:

D1 :: function1()
Base :: function2()
INSIDE D1 DES
INSIDE BASE DES

View 2 Replies View Related

C++ :: Destructor For Class That Holds Pointer To Object

Mar 20, 2013

Lets say we have a class that holds a pointer member to another object. If I delete that pointer in the destructor I get an error (and I understand why). My question is : is it possible to overcome that without memory leaks ?

1 #include<iostream>
2 using namespace std;
3
4 class A {
5 public:
6 ~A() {
7 cout<< "~A()" <<endl;

[Code] ....

View 5 Replies View Related

C++ :: Vector Of Int Class - How To Delete Pointer X In Destructor To Free Memory

Feb 25, 2015

An attempt to create a class which is basically a mimic of vector<int> i don't seem to know how to delete pointer x in a destructor to free memory, also on pushback and pushfront methods, i can't free y when i implement delete[] y; y=NULL; i get some NULL out put when cout 'ing the object in main, why is that happening and how do i free memory y.

#include<iostream>
using namespace std;
class vectorOfint{
int* x;
int size;
public:
vectorOfint();

[Code] .....

View 6 Replies View Related

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++ :: 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++ :: 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/C++ :: Displaying Filled Square Next To Hollow Square?

Feb 28, 2015

I am able to display a filled and hollow square by themselves, but I can't seem to be able to get them side by side.

So this is my code so far:

[/
#include <iostream>
using namespace std;
int main()

[Code]....

I can get the hollow square to show up, but the first square just shows up as a single line instead of a square. It seems that it ignores the first if statement in the second loop. I've tried not using an if statement in the second loop but it didn't seem to work either.

View 4 Replies View Related

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 View Related

C :: Function To Check Whether Input Is Composed ONLY Of Alphabet / Space

Feb 15, 2013

This code is supposed to ask the user to input characters at most 20 and they should only be composed of alphabets/spaces..

Code:
#include <string.h>
#include <stdio.h>
#include <ctype.h>

int main(){
char addressbook[6][30][0];
int current_record = 0, length, i=0;

[Code] ....

I have removed the error from the main code but there's still this lingering error in the return part.

syntax error before 'return'.

It won't compile.

View 5 Replies View Related

C++ :: Composition And Member Access Inside Composed Structure

Jan 18, 2013

I have a question regarding composition and accessing members "deep" inside the composed structure. For example;

class A {
private:
int m_myInt;
public:
int myInt() const {return this->m_myInt;};
void myInt(int newInt) {this->m_myInt = newInt;};

[Code] ....

Now, from somwhere I have access to an object of type B where I want to update the A::m_myInt. How would you do this without "breaking" the whole purpose of private/public members?

B myB;
myB.m_a.myInt(3); // Not allowed, and not desireable

I thought about implementing access through functons kind of like;

A & B::a() {return this->m_a;};
myB.a().myInt(3);

but I'm worried that this exposes my B::m_a-object too much. This would allow

myB.a() = A();
, right?

The following is a more desireable way of acces, but doesn't work for updating;

A const & B::a() {return this->m_a;};
myB.a().myInt(3); //Disallowed? myInt(int) is non-const.

What about this? Is this a good way of doing it?

class A {
private:
int m_myInt;
public:
int myInt() const {return this->m_myInt;};

[Code] ....

I guess it works? It would lead to a lot of data shuffling in case of larger sub-components.I would really like to do the following without exposing my components so much:

B myB;
myB.a().myInt(3);

Can it be done?

View 11 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/C++ :: Find Maximal Points Among Given N Points

Nov 3, 2014

Example: In a 2-D space, point A=(a1,a2) is bigger than point B=(b1,b2), if a1>b1 and a2>b2.

How do I write a presudo code to find all the maximal points among the given n points?

View 14 Replies View Related

C++ :: Draw A Square Within A Square Pattern

Oct 25, 2013

I know how to draw a square hollow or filled but i need to draw an alternating pattern ....

ex
iPatternHeight = 1
X

iPatternHeight = 3
OOO
OXO
OOO

[Code] .....

View 6 Replies View Related

C# :: How To Draw A Square Within A Square

Oct 25, 2013

I know how to draw a square hollow or filled but I need to draw an alternating pattern

ex
iPatternHeight = 1
X

iPatternHeight = 3
OOO
OXO
OOO

[Code] ......

View 2 Replies View Related

C++ :: Copy Constructor And Destructor?

Nov 21, 2014

Class Car{
Private:
string* _ID;
bool _isFaulty;
int _location;
int _timer;
int _order;
vector<Road*> _roadPlan;
}

I want to implements Copy constructor (deep copy) and destructor, and I don't know how to treat the vector of pointers (Road is an object too)

Mor

Another thing, maybe I'll prefer using List instead of Vector, so i would like to see an implements of Copy constructor and destuctor with List too,

View 3 Replies View Related

C++ :: Cancel Destructor Calls In Operator

Apr 18, 2014

Let's start with something from the c++ reference:

... delete[] is an operator with a very specific behavior: An expression with the delete[] operator, first calls the appropriate destructors for each element in the array (if these are of a class type) ...

I was wondering if I can tell delete[] to not call destructors, for example if I already know that the delete[] statement should be delete without []. That would be very useful for memory management/memory leak detection.

View 12 Replies View Related

C++ ::  Object Destructor Throwing SIGSEGV

Dec 13, 2014

I have the following code. The destructor throws a segmentation fault when it gets called. My first instinct is that there's something screwy with the array allocation.

#ifndef ARRAYLIST_H
#defineARRAYLIST_H
#include <iostream>
#include "Exceptions.h"
using namespace std;
template <class T>
class ArrayList {

[Code] .....

It's specifically the memory clearance in the destructor that throws the segfault.

View 19 Replies View Related

C++ :: Binary Tree Heap Destructor Failing?

Feb 5, 2014

I get a runtime error when I add a destructor to my code.

Code:
#include <iostream>
#include <array>
using namespace std;
struct nodes { int* elements; };
class heap

[code]....

View 14 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++ :: Building Destructor That Outputs Data Before Destroying It

Mar 7, 2014

I am trying to build a destructor that takes an array pointer and outputs part of a private vector and, comparing a string within the objects, overwrites the data in the array with the data in the vector. (vector and array use same class type) It then proceeds as usual.

#include <iostream>
#include <string>
#include <iomanip>

[Code].....

View 6 Replies View Related







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