473,769 Members | 8,305 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Help a beginner

Hello experts,
I am a complete beginner in C++ (although I know C).
I am trying to compile the code below, and I get
the following error.
Can anyone explain to me my mistake?
Thanks!
PhilB

myprog2.cpp: In method `Line::Line (Point, Point)':
myprog2.cpp:32: no matching function for call to `Point::Point ()'
myprog2.cpp:12: candidates are: Point::Point (int, int)
myprog2.cpp:9: Point::Point (const Point &)
myprog2.cpp:32: no matching function for call to `Point::Point ()'
myprog2.cpp:12: candidates are: Point::Point (int, int)
myprog2.cpp:9: Point::Point (const Point &)
myprog2.cpp:32: no matching function for call to `Point::Point ()'
myprog2.cpp:12: candidates are: Point::Point (int, int)
myprog2.cpp:9: Point::Point (const Point &)

//------------------------
class Point
{
protected:
int x;
int y;
public:
Point::Point(in t, int);
};

Point::Point(in t initx, int inity)
{
x=initx;
y=inity;
return;
}

class Line:public Point
{
public:
Point start_point;
Point end_point;

public:
Line::Line(Poin t, Point);
};

Line::Line(Poin t initp1, Point initp2)
{
start_point=ini tp1;
end_point=initp 2;
return;
}

main()
{
Point p1(10,20);
Point p2(20,40);
Line l1(p1,p2);
}
//------------------------
Jul 22 '05
15 1933

"Gary Labowitz" <gl*******@comc ast.net> wrote in message
news:K9******** ************@co mcast.com...

Please note it one of my top ten that a number of you objected to having on the list.

To poster: Your Point constructor is protected, which means it can only be
called by code of the Point class or one of its subclasses (Line).


No, you missed the public.
Jul 22 '05 #11

"Marko Becirevic" <ma************ *******@zg.tel. hr> wrote in message
news:br******** **@ls219.htnet. hr...
//------------------------
class Point
{
protected:
int x;
int y;
public:
Point::Point(in t, int);
};


not Point::Point(in t, int);
but just Point(int, int);

same in Line class.


That is not the problem. The problem is that he has Points in his Line.
There is no way to construct those Points when he goes to create a Line in
his main program.
Jul 22 '05 #12
"Gary Labowitz" <gl*******@comc ast.net> wrote in message news:<K9******* *************@c omcast.com>...
Please note it one of my top ten that a number of you objected to having on
the list.

To poster: Your Point constructor is protected, which means it can only be
called by code of the Point class or one of its subclasses (Line). You are
calling it from main.
When you create a Line object, C++ will automatically construct the Point
inherited portion by calling a constructor for a Point using a default
constructor. And there isn't one.
In addition, I'd say your design is flawed: A Line is not a kind of Point so
you should not be using an is-a design. Lines have Points which is a has-a
design. This is one way it could look:

#include <iostream>

using namespace std;

class Linex;
class Pointx
{
friend class Linex;
int x, y; //coordinates
public:
Pointx (int x, int y):x(x), y(y){};
Pointx ( ){}; //This is the missing constructor


Hello Gary
Thank you for your reply; I just added the line
Pointx ( ){};
and it compiles with no error!
Thanks to all for sharing your expertise.
PhilB
Jul 22 '05 #13
On Tue, 16 Dec 2003 05:51:02 -0800, PhilB wrote:
Hello experts,
I am a complete beginner in C++ (although I know C).
I am trying to compile the code below, and I get
the following error.
Can anyone explain to me my mistake?
Thanks!
PhilB

myprog2.cpp: In method `Line::Line (Point, Point)':
myprog2.cpp:32: no matching function for call to `Point::Point ()'
myprog2.cpp:12: candidates are: Point::Point (int, int)
myprog2.cpp:9: Point::Point (const Point &)
myprog2.cpp:32: no matching function for call to `Point::Point ()'
myprog2.cpp:12: candidates are: Point::Point (int, int)
myprog2.cpp:9: Point::Point (const Point &)
myprog2.cpp:32: no matching function for call to `Point::Point ()'
myprog2.cpp:12: candidates are: Point::Point (int, int)
myprog2.cpp:9: Point::Point (const Point &)

//------------------------
class Point
{
protected:
int x;
int y;
public:
Point::Point(in t, int);
};

Point::Point(in t initx, int inity)
{
x=initx;
y=inity;
return;
}

class Line:public Point
{
public:
Point start_point;
Point end_point;

public:
Line::Line(Poin t, Point);
};

Line::Line(Poin t initp1, Point initp2)
{
start_point=ini tp1;
end_point=initp 2;
return;
}

main()
{
Point p1(10,20);
Point p2(20,40);
Line l1(p1,p2);
}
//------------------------


The answer has been covered over and over, here so I will only include
my alternate implementation that doesn't require definition of the
default constructor

class Point
{
protected:
int x;
int y;
public:
Point(int, int);
};

Point::Point(in t initx, int inity)
{
x=initx;
y=inity;
return;
}

class Line
{
public:
Point* start_point;
Point* end_point;
public:
Line(Point*, Point*);
};

Line::Line(Poin t* initp1, Point* initp2)
{
start_point=ini tp1;
end_point=initp 2;
return;
}

main()
{
Point p1(10,20);
Point p2(20,40);
Line l1(&p1,&p2);
}

I removed the line is-a point relationship which makes little sence.
Additionally, I used pointers to avoid the calling of the default
constructor.

--Steve
Jul 22 '05 #14
Steven Green <st************ @verizon.net> wrote in message news:<pa******* *************** ******@verizon. net>...
The answer has been covered over and over, here so I will only include
my alternate implementation that doesn't require definition of the
default constructor

class Point
{
protected:
int x;
int y;
public:
Point(int, int);
};

Point::Point(in t initx, int inity)
{
x=initx;
y=inity;
return;
}

class Line
{
public:
Point* start_point;
Point* end_point;
public:
Line(Point*, Point*);
};

Line::Line(Poin t* initp1, Point* initp2)
{
start_point=ini tp1;
end_point=initp 2;
return;
}

main()
{
Point p1(10,20);
Point p2(20,40);
Line l1(&p1,&p2);
}

I removed the line is-a point relationship which makes little sence.
Additionally, I used pointers to avoid the calling of the default
constructor.

--Steve

Hi Steve,
Thanks a lot for your crystal-clear example,
and thanks for sharing your expertise.
PhilB
Jul 22 '05 #15
Steven Green <st************ @verizon.net> wrote in message news:<pa******* *************** ******@verizon. net>...
class Line
{
public:
Point* start_point;
Point* end_point;
public:
Line(Point*, Point*);
};

Line::Line(Poin t* initp1, Point* initp2)
{
start_point=ini tp1;
end_point=initp 2;
return;
}

main()
{
Point p1(10,20);
Point p2(20,40);
Line l1(&p1,&p2);
}

I removed the line is-a point relationship which makes little sence.
Additionally, I used pointers to avoid the calling of the default
constructor.

--Steve


Now, though, Line doesn't own its Points anymore ... in this example,
if you pass l1 as a return value or do anything that extends its
lifetime beyond p1 and p2, you'll have problems. Unless Points are
really expensive to create and/or copy, this may not be the best way
to do it.

My two cents at least,
Michael
Jul 22 '05 #16

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

15
1896
by: Judi Keplar | last post by:
I am currently taking a course to learn Python and was looking for some help. I need to write a Python statement to print a comma- separated repetition of the word, "Spam", written 511 times ("Spam, Spam, … Spam"). Can anybody help me get started? I am completely new to programming! Thanks in advance!
15
3826
by: Philip Mette | last post by:
I am begginner at best so I hope someone that is better can help. I have a stored procedure that updates a view that I wrote using 2 cursors.(Kind of a Inner Loop) I wrote it this way Because I couldn't do it using reqular transact SQL. The problem is that this procedure is taking longer and longer to run. Up to 5 hours now! It is anaylizing about 30,000 records. I think partly because we add new records every month. The procedure...
8
2382
by: Grrrbau | last post by:
I'm a beginner. I'm looking for a good C++ book. Someone told me about Lafore's "Object-Oriented Programming in C++". What do you think? Grrrbau
7
1613
by: BobJohnson | last post by:
Just started learning C++ and I need some help with my homework, shouldn't take long for people around here. I need to create a simple money calculator but I don't know how to make the output numbers two decimal places long like 10.01 I only know how to define numbers as int or double. Do I use float? Also, I'm using Visual Studio .NET is there anyway to keep the compiler on the screen long enough to actually see what it's outputting. ...
16
1859
by: ranger | last post by:
Hi, I'm a beginner with C++, studying on my own from a book and I've encoutered quite some problems.. If possible, someone out there might help me out.. The problem is the following.. I've tried to create a couple of string class/functions.. and they do compile.. but when I run them.. windows suddenly reports an error.. As I'm just a beginner in C++, with noone around me to help.. I'd appreciate if someone might help me out!
1
1535
by: Simon Matthews | last post by:
Hope someone can help an Access beginner! I've just started keeping my surgical logbook on access and it's a simple flat-file affair. I have created several queries that will list cases performed at different hospitals and reports based on the queries to print out the relavent details. What I would like to do is have a summary sheet in the Report Footer section that lists a grid of each type of procedure performed as well as the...
1
1290
by: newbie | last post by:
Hi I am using a toolkit written in c++ that consists of three parts 1) video captur 2) image processin 3) OpenGL wrappe The video capture program only works with local hardware (for example usb web cam). Since I have to use a remote live camera with a fixed IP-address, I then have to write my own video capture program that replaces the original video library. I am a beginner in programming, so I really don't have a clue how to do...
1
1918
by: hl | last post by:
Hi, I'm a beginner and need a little help with getting data back from a web service. I am using VB.Net and have added a web reference to a Wsdl that was provided to me. My reference.vb file that was generated has the following code at the end. <System.Xml.Serialization.SoapTypeAttribute("Map",
6
1818
by: fool | last post by:
Dear group, Given a string I have to print the permutation, using some looping tricks. This is not a Home work problem. My best try as beginner is: #include<stdio.h> #include<stdlib.h> int main(void)
1
1266
by: macmac | last post by:
I'm new to this forum and I am in a beginner level with programming too. I posted this thing out hoping that somebody could help me out in making this program. I am working right now as a C++ developer well of course as a junior developer, I know fundamentals of C++ and a little knowledge on classes, I also have a little knowledge in networking. My problem right now is that the company is urging me to deliver a bot for D2 game, specifically a...
0
9589
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9423
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
10049
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
9865
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8876
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5310
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
3967
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
3567
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2815
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.