I'm trying to implement the following code but I keep getting compiler errors. I'm using Dev-C++ default settings. Is it a compiler settings problem or code problem? Anyone have any ideas? Thanks :)
(Sorry I'm really noob at programming lol, any help is greatly appreciated.)
// File name: point.h
// include necessary libraries and definitions
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
#ifndef POINT
#define POINT
class Point
{
private: // declare private members
double x;
double y;
string label;
public: // declare public members
Point();
Point(double x, double y, string label);
double get_x()const;
double get_y()const;
string get_label()const;
double set_x(double x);
double set_y(double y);
string set_label(string label);
void print()const;
};
#endif
// File name: Point.cpp
#include "point.h"
// Default constructor
Point::Point()
:x(),y(),label()
{
x = 0;
y = 0;
label = "BLANK";
}
Point::Point(double input_x, double input_y, string input_label) // constructor that sets the values for variables to be set up for input
:x(input_x), y(input_y), label(input_label)
{
x = input_x;
y = input_y;
label = input_label;
}
double Point::set_x(double user_x) // set the value of x
{
x = user_x;
return x;
}
double Point::set_y(double user_y) // set the value of y
{
y = user_y;
return y;
}
string Point::set_label(string user_label) // set the value for label
{
label = user_label;
return label;
}
double Point::get_x()const // get the X value
{
return x;
}
double Point::get_y()const // get the Y value
{
return y;
}
string Point::get_label()const // get the label value
{
return label;
}
void Point::print()const // let's print the final result
{
cout << "\n" << label << "(" << fixed << setprecision(1) << x << "," << fixed << setprecision(1) << y << ")" << endl;
}
#include "point.h"
int main(void)
{
Point source; // default constructor called
Point destination(6.2, 16.7, "Destination"); // constructor called
source.print();
destination.print();
source.set_x(45);
destination.set_y(33.4);
source.print();
destination.print();
cout << "The x coordinate of point source is: "
<< source.get_x() << endl;
cout << "The y coordinate of point destination is: "
<< destination.get_y() << endl;
cout << "The label of point source is: " << source.get_label() << endl;
source.set_label("SOURCE");
cout << "The new label of point source is: " << source.get_label()<< endl;
cout << "----- Program ends here -----" << endl;
return 0;
}
Errors:
Compiler: Default compiler
Executing g++.exe...
g++.exe "D:\School\University Year 1\Engg 233\Lab 7\ex1\lab7_1.cpp" -o "D:\School\University Year 1\Engg 233\Lab 7\ex1\lab7_1.exe" -I"C:\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Dev-Cpp\include\c++\3.4.2" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
C:\Users\JONATH~1\AppData\Local\Temp/ccAddaaa.o(.text+0x17f):lab7_1.cpp: undefined reference to `Point::Point()'
C:\Users\JONATH~1\AppData\Local\Temp/ccAddaaa.o(.text+0x1de):lab7_1.cpp: undefined reference to `Point::Point(double, double, std::string)'
C:\Users\JONATH~1\AppData\Local\Temp/ccAddaaa.o(.text+0x26e):lab7_1.cpp: undefined reference to `Point::print() const'
C:\Users\JONATH~1\AppData\Local\Temp/ccAddaaa.o(.text+0x279):lab7_1.cpp: undefined reference to `Point::print() const'
C:\Users\JONATH~1\AppData\Local\Temp/ccAddaaa.o(.text+0x28e):lab7_1.cpp: undefined reference to `Point::set_x(double)'
C:\Users\JONATH~1\AppData\Local\Temp/ccAddaaa.o(.text+0x2a5):lab7_1.cpp: undefined reference to `Point::set_y(double)'
C:\Users\JONATH~1\AppData\Local\Temp/ccAddaaa.o(.text+0x2b2):lab7_1.cpp: undefined reference to `Point::print() const'
C:\Users\JONATH~1\AppData\Local\Temp/ccAddaaa.o(.text+0x2bd):lab7_1.cpp: undefined reference to `Point::print() const'
C:\Users\JONATH~1\AppData\Local\Temp/ccAddaaa.o(.text+0x2c8):lab7_1.cpp: undefined reference to `Point::get_x() const'
C:\Users\JONATH~1\AppData\Local\Temp/ccAddaaa.o(.text+0x30f):lab7_1.cpp: undefined reference to `Point::get_y() const'
C:\Users\JONATH~1\AppData\Local\Temp/ccAddaaa.o(.text+0x35d):lab7_1.cpp: undefined reference to `Point::get_label() const'
C:\Users\JONATH~1\AppData\Local\Temp/ccAddaaa.o(.text+0x456):lab7_1.cpp: undefined reference to `Point::set_label(std::string)'
C:\Users\JONATH~1\AppData\Local\Temp/ccAddaaa.o(.text+0x501):lab7_1.cpp: undefined reference to `Point::get_label() const'
Question
chconline Veteran
I'm trying to implement the following code but I keep getting compiler errors. I'm using Dev-C++ default settings. Is it a compiler settings problem or code problem? Anyone have any ideas? Thanks :)
(Sorry I'm really noob at programming lol, any help is greatly appreciated.)
// File name: point.h // include necessary libraries and definitions #include <iostream> #include <iomanip> #include <string> using namespace std; #ifndef POINT #define POINT class Point { private: // declare private members double x; double y; string label; public: // declare public members Point(); Point(double x, double y, string label); double get_x()const; double get_y()const; string get_label()const; double set_x(double x); double set_y(double y); string set_label(string label); void print()const; }; #endif// File name: Point.cpp #include "point.h" // Default constructor Point::Point() :x(),y(),label() { x = 0; y = 0; label = "BLANK"; } Point::Point(double input_x, double input_y, string input_label) // constructor that sets the values for variables to be set up for input :x(input_x), y(input_y), label(input_label) { x = input_x; y = input_y; label = input_label; } double Point::set_x(double user_x) // set the value of x { x = user_x; return x; } double Point::set_y(double user_y) // set the value of y { y = user_y; return y; } string Point::set_label(string user_label) // set the value for label { label = user_label; return label; } double Point::get_x()const // get the X value { return x; } double Point::get_y()const // get the Y value { return y; } string Point::get_label()const // get the label value { return label; } void Point::print()const // let's print the final result { cout << "\n" << label << "(" << fixed << setprecision(1) << x << "," << fixed << setprecision(1) << y << ")" << endl; }#include "point.h" int main(void) { Point source; // default constructor called Point destination(6.2, 16.7, "Destination"); // constructor called source.print(); destination.print(); source.set_x(45); destination.set_y(33.4); source.print(); destination.print(); cout << "The x coordinate of point source is: " << source.get_x() << endl; cout << "The y coordinate of point destination is: " << destination.get_y() << endl; cout << "The label of point source is: " << source.get_label() << endl; source.set_label("SOURCE"); cout << "The new label of point source is: " << source.get_label()<< endl; cout << "----- Program ends here -----" << endl; return 0; }Errors:
Link to comment
Share on other sites
5 answers to this question
Recommended Posts