Trying to print out object contents using a class method. Keep getting "error: statement cannot resolve address of overloaded function"
Trying to print out object contents using a class method. Keep getting "error: statement cannot resolve address of overloaded function"
这里是初学者,我正在为一门课程做作业,在做这个程序时,我遇到了一些麻烦。我无法弄清楚如何使用与我制作的 class 不同的方法打印出我在 main 方法中拥有的对象中的内容。
这是我的代码:
#include <iostream>
using namespace std;
class Book {
private:
string title;
int pages;
double price;
public:
Book () {
title = "";
pages = 0;
price = 0.0;
}
Book(string t, int p, double pr) {
title = t;
pages = p;
price = pr;
}
void setPrice(double);
void getBookInfo(Book, Book);
};
void Book::setPrice(double pr) {
price = pr;
}
void Book::getBookInfo(Book b1, Book b2) {
cout << b1.title << b1.pages << b1.price << endl;
cout << b2.title << b2.pages << b2.price << endl;
}
int main() {
Book b1("C++ Programming", 802, 90.55);
Book b2("Chemistry Tests", 303, 61.23);
b2.setPrice(77.22);
b1.getBookInfo;
b2.getBookInfo;
return 0;
}
我需要使用 getBookInfo()[= 打印出 Book b1 和 Book b2 的内容29=] 方法,但每次我认为我知道自己在做什么时,我都会在 b1.getBookInfo 和 b2.getBookInfo.
当然,我会自己格式化它,这样输出就不会全部聚集在一起,但我什至不能让它输出任何东西!
这是我第一次使用 class 和构造函数,所以我现在真的有点不知所措。感谢帮助!谢谢!
错误来自这里:
b1.getBookInfo;
b2.getBookInfo;
您正在尝试调用 class 的方法,但没有使用调用运算符 ()
,因此您正在加载方法的地址。要解决此错误,请使用调用运算符调用方法:
b1.getBookInfo(b1, b2);
b2.getBookInfo(b1, b2);
此外,您的代码有很多错误,但您表示您是初学者,所以这并不罕见
这里是初学者,我正在为一门课程做作业,在做这个程序时,我遇到了一些麻烦。我无法弄清楚如何使用与我制作的 class 不同的方法打印出我在 main 方法中拥有的对象中的内容。
这是我的代码:
#include <iostream>
using namespace std;
class Book {
private:
string title;
int pages;
double price;
public:
Book () {
title = "";
pages = 0;
price = 0.0;
}
Book(string t, int p, double pr) {
title = t;
pages = p;
price = pr;
}
void setPrice(double);
void getBookInfo(Book, Book);
};
void Book::setPrice(double pr) {
price = pr;
}
void Book::getBookInfo(Book b1, Book b2) {
cout << b1.title << b1.pages << b1.price << endl;
cout << b2.title << b2.pages << b2.price << endl;
}
int main() {
Book b1("C++ Programming", 802, 90.55);
Book b2("Chemistry Tests", 303, 61.23);
b2.setPrice(77.22);
b1.getBookInfo;
b2.getBookInfo;
return 0;
}
我需要使用 getBookInfo()[= 打印出 Book b1 和 Book b2 的内容29=] 方法,但每次我认为我知道自己在做什么时,我都会在 b1.getBookInfo 和 b2.getBookInfo.
当然,我会自己格式化它,这样输出就不会全部聚集在一起,但我什至不能让它输出任何东西!
这是我第一次使用 class 和构造函数,所以我现在真的有点不知所措。感谢帮助!谢谢!
错误来自这里:
b1.getBookInfo;
b2.getBookInfo;
您正在尝试调用 class 的方法,但没有使用调用运算符 ()
,因此您正在加载方法的地址。要解决此错误,请使用调用运算符调用方法:
b1.getBookInfo(b1, b2);
b2.getBookInfo(b1, b2);
此外,您的代码有很多错误,但您表示您是初学者,所以这并不罕见