| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1072 人关注过本帖
标题:[讨论]本人准备用另一种方式去改写,请大家给些意见
只看楼主 加入收藏
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
结帖率:78.95%
收藏
 问题点数:0 回复次数:16 
[讨论]本人准备用另一种方式去改写,请大家给些意见

自己在学习的过程中C++,VB等语言时不断的找教程,林林总总表现方式的教程都看过了.也很感谢那些有心之人写下好那么好的教程好那些收集整理教程的人们.本人也想为编程的爱好者做些事情.用另一种表现方式去表现别人已经写好的教程(当然会有小改动)
今天本人在学习的过程中,在程序代码里写注释时想到.为什么我们不把教程写到程序里面呢.把它给注释掉,就像下面这样的表现方式.然后我们给学习者源码就行了.学习都打开源码就可以直接运行程序.

我改写的这个教程是来自<<C++程序设计语言>>即<<The C++ Programming Language>>
Bjarne Stroustrup
(美)------------------著
贝 尔 实 验 室

#include <iostream>
#include <string>
#include <stdlib>
using namespace std;
//10.2.2 访问控制
//在前一节里的Date声明提供了一组操作Date的函数,然而,它却没有清楚地说明这些函数就是直接依赖于
//Date的表示的全部函数,而且也是仅有的直接访问Date类的对象的函数.这引起限制可以通过用class
// 代替struct而描述清楚:

class Date{
int d,m,y;
public:
void init(int dd,int mm,int yy){ //初始化
cout<<"初始化日期为:"
<<dd<<"日"<<mm<<"月"<<yy<<"年"<<endl;
};
void add_year(int n){cout<<"加"<<n<<"年"<<endl;}; //加n年
void add_month(int n){cout<<"加"<<n<<"月"<<endl;}; //加n月
void add_day(int n){cout<<"加"<<n<<"日"<<endl;}; //加n天
void del_day(int n); //删除一天
};

//标号public将这个类的体分为两个部分,其中的每一部分(私用部分)只能由成员函数使用;而第二部分
//(公用部分)则构成了该类的对象的公用界面.一个struct也是一个class,但是其成员的默认方式是公用
//成员函数的定义和使用与以前完全一样.例如:

inline void Date::del_day(int n){
cout<<"删除"<<n<<"日"<<endl;
}

//然而,非成员函数将禁止访问私用成员,例如,
//void timewarp(Date& d){
// d.y-=200; //错误:Date::y为私用成员
// }
//将对数据结构的访问严格限制到明确说明的一组函数,这样做有许多优点.例如,导致Date保存某个非法值
//(例如,1985年12月36日)的任何错误必然是由某个成员函数的代码造成的.这就意味着第一个层次的排错
//--局部化--在程序运行之前就已经完成了.这也是一种一般认识的特殊情况,该认识是:类型Date行为的任何
//改变都能够且必须是受到其成员函数改变的影响.特别是,如果一个类的表示方式改变了,我们只要修改成员
//函数,就可以去使用这个种新表示.用户代码只直接依赖于公用界面,因此就不需要重新写(虽然可能需要重新
//编译).另一个优点是,一个潜在的用户要学习使用一个类,也只需要考察其成员函数的定义.
// 对私用成员的保护依靠的是对于使用类成员名字的限制.可以通过地址操作和显式的类型转换绕过这些
//限制.不过,这些方式当然是作敝行为.C++的保护只是为了避免无意的失误,而不是为了防止精心策划的计谋
//(骗局).只有硬件才可能防止对通用语言的来意使用.当然,即使是利用了硬件,想在现实的系统里把这件事情
//做好也非常困难.
// 这里加入进一个init()函数,部分原因是,有一个函数来设置对象的值一般总是有用的;还有就是数据的私
//用性也迫使我们去提供它.
int main(int argc, char* argv[])
{
Date meDate;
meDate.init(20,05,1999);
meDate.add_year(1);
meDate.add_month(1);
meDate.add_day(1);
meDate.del_day(3);

system("pause");
return 0;
}
//---------------------------------------------------------------------------

搜索更多相关主题的帖子: 意见 
2007-05-12 23:57
谁与争疯
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:海南省
等 级:版主
威 望:191
帖 子:15071
专家分:17513
注 册:2007-4-22
收藏
得分:0 
书上现在都这样的啊,讲解是用注释的方式的。但目前还有一些书不是而已。
你是指,电子书吧?

论坛是我家灌水靠大家
2007-05-13 00:00
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
噢...我做的不是书...而是源码..在源码中带有注释(书的内容).
最终发布的形式是以源码的形式发布的.

/images/2011/147787/2011051411021524.jpg" border="0" />
2007-05-13 00:23
chenkuanyi
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2007-4-21
收藏
得分:0 

想法挺好,但不符合我们的阅读习惯啊

2007-05-13 11:06
jiaju111
Rank: 1
等 级:新手上路
帖 子:94
专家分:0
注 册:2007-3-27
收藏
得分:0 

不错啊,就是工程有点浩瀚

建议以连载的形式发布


Everything is gonna be okay!
2007-05-13 12:04
yuyunliuhen
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1435
专家分:0
注 册:2005-12-12
收藏
得分:0 
这个可能不大符合大多数人的习惯吧,源码加上一定的注释肯定是有必要的,如果加上大量的注释的话,会大大加重眼睛的负担,本来看到大量的代码就已经有点不想读了,再加上如此多的注释的话,那结果可想而知了,源码还是尽可能的简练一点的好。。
我是这样觉得的。。。
可能这样比较适合刚接触C++不久的吧,不过还是支持的,<<The C++ Programming Language>>没有几个可以直接运行的程序,那你的工作量可能会有满大的呀,辛苦啦


Go confidently in the  directions of your dreams,live the life you have imagined!Just do it!
It is no use learning without thinking!
2007-05-13 12:40
谁与争疯
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:海南省
等 级:版主
威 望:191
帖 子:15071
专家分:17513
注 册:2007-4-22
收藏
得分:0 
楼主,我觉得,注解长些也没什么关系,不如这样吧!
在程序的语句旁,可以有一些简单的注解,帮助读者理解。在程序的最后面,再添加详细整篇的讲解。

论坛是我家灌水靠大家
2007-05-13 12:44
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 

偶一般只对一些比较重要的过程和重要的变量作一下说明,其它的我都不会去注释,其它地方语句就是最好的注释,就像下面的一个程序.

EVQLbUUK.rar (1.83 KB) [讨论]本人准备用另一种方式去改写,请大家给些意见



雁无留踪之意,水无取影之心
2007-05-13 14:07
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
我的想法是这样的...在电脑里打开一个教程.或手里拿着一本教程的书...电脑里又打开着C++环境.
这样就好像多做了些事情...我希望的是这个教程在C++ 环境里打开..然后可以直接运行,可以让读
者看到运行的结果.这个想法我就是在读<<The C++ Programming Language>>所想到的.因为里面的
例子不能独立运行,就是直接抄下去运行不了.所以我就想到要改写.我也只是一边学习一边改写的,
还没有写书的能力,希望各位不要见笑!
不过待我些版的教程出来可能要很久哦..呵呵...

/images/2011/147787/2011051411021524.jpg" border="0" />
2007-05-13 14:17
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
写吧,想法不错,我也在学那本书

雁无留踪之意,水无取影之心
2007-05-13 15:08
快速回复:[讨论]本人准备用另一种方式去改写,请大家给些意见
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021453 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved