好心人请进,C++类的实现很基本的问题

mm6688 2009-06-13 12:21:34
设有如下所示的关于书籍类的一个定义:
class CBooks
{
private:
char *p_title;
float price
public:
CBooks();
CBooks(char *p_book_titae, float book_price);
void setPrice(float book_price);
void srtTitle (const char* p_book_title);
void print()const;
~Cbook();
};
完成各类的实现。
小弟菜鸟一个,弄了两周也无法做出来,估计是遇到瓶颈了,再弄下次也于事无补,拜托好心人出给完整代码,不胜感激。。。。
...全文
76 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mm6688 2009-06-13
  • 打赏
  • 举报
回复
我也很无奈,题目就是这样 给出类的声明,叫你写出类的实现。八丈和尚摸不着头脑,完全不知类的成员函数是啥意思。。。
别逗我乐 2009-06-13
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 Loaden 的回复:]
正好有时间,给你写完了:

C/C++ code#include <iostream>

using namespace std;

class CBooks
{
public:
CBooks() : m_title(NULL), m_price(0.0) {};
CBooks(char *p_book_title, float book_price) : m_title(NULL), m_price(book_price)
{
int len = strlen(p_book_title);
m_title = new char[len + 1];
strcpy(m_title, p_book_title);
}

~CBooks(…
[/Quote]

正解!
不过我想问问,这是什么编译器呀!
Process returned 0 (0x0) execution time : 0.046 s
最后这几句,挺有意思
xlttap 2009-06-13
  • 打赏
  • 举报
回复
就写个声明,没有需求分析怎么写?
「已注销」 2009-06-13
  • 打赏
  • 举报
回复
正好有时间,给你写完了:
#include <iostream>

using namespace std;

class CBooks
{
public:
CBooks() : m_title(NULL), m_price(0.0) {};
CBooks(char *p_book_title, float book_price) : m_title(NULL), m_price(book_price)
{
int len = strlen(p_book_title);
m_title = new char[len + 1];
strcpy(m_title, p_book_title);
}

~CBooks()
{
if (m_title != NULL) delete m_title;
};

public:
void setPrice(float book_price)
{
m_price = book_price;
}

void setTitle(const char* p_book_title)
{
if (m_title != NULL) delete m_title;

int len = strlen(p_book_title);
m_title = new char[len + 1];
strcpy(m_title, p_book_title);
}

void print() const
{
cout << "Book Title: " << m_title << endl;
cout << "BOok Price: " << m_price << endl;
}

private:
char* m_title;
float m_price;
};


int main()
{
CBooks b("《Windows程序设计》", 156.16);
b.print();

b.setTitle("《Windows核心编程》");
b.print();

b.setPrice(10.12);
b.print();
return 0;
}


输出:
Book Title: 《Windows程序设计》
BOok Price: 156.16
Book Title: 《Windows核心编程》
BOok Price: 156.16
Book Title: 《Windows核心编程》
BOok Price: 10.12

Process returned 0 (0x0) execution time : 0.046 s
Press any key to continue.

mm6688 2009-06-13
  • 打赏
  • 举报
回复
补充一下,函数“srtTitle”为setTitle,使用户能修改书的书名。
acdbxzyw 2009-06-13
  • 打赏
  • 举报
回复
这都有瓶颈?
看书吧。呵呵。
「已注销」 2009-06-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jsjrj01 的回复:]
正解!
不过我想问问,这是什么编译器呀!
Process returned 0 (0x0) execution time : 0.046 s
最后这几句,挺有意思 [/Quote]
Code::Blocks + VC10

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧