发新话题
打印

c++ 语法改进了么?

ds类声明中没有private成员,而这些私有成员不在头文件中?      
乘天地之正,而御六气之辩,以游无穷

TOP

Class CString
{
public:
CString ( ); //Constructor initializes array to NULL.
int GetStrLen( ); //Gets the length of the string.
void ClearStr( ); //Clears the array to NULL.
void DisplayStr( ); //Displays the string as written.
void SetStrVal(char*); //Assigns the array a new string value.
char GetStrMid( ); //Returns the "middle" character of the
//string. If the string length is even
//then the right-most character of the
//"left" half is returned.
char* GetString( ); //Returns the object's private data.
private:
char data[30]; //Accessible ONLY thru member functions
};

当你看到这段代码的时候如何保证程序员不把data当成字符数组使用。      
乘天地之正,而御六气之辩,以游无穷

TOP

你要告诉我你是如何形式的提供库的,
源码,
还是二进制+include      
-----------------------------------------
http://www.darkspy.org/blog

自大的人把宗教当迷信,无知的人把迷信当宗教

TOP

include里面当然会有私有成员声明,任何私有成员声明都不能让类的使用者看到。      
乘天地之正,而御六气之辩,以游无穷

TOP

c# java都很好的做到这一点了      
乘天地之正,而御六气之辩,以游无穷

TOP

.....楼主应该去好好研究一下C++,特别是接口编写和发布这些知识.


.      
-----------------------------------------
http://www.darkspy.org/blog

自大的人把宗教当迷信,无知的人把迷信当宗教

TOP

建议ds看看代码大全,当然c++通过技巧能够做到不在头文件里暴露私有成员。只是我记得好像现在的c++程序里面有import语句,可能是托管代码吧

C++我可不想研究了,看着就眼花。c#比c++优秀多了,游戏开发都C#了,就像你批评C一样,Professional XNA Game Programming: For Xbox 360 and Windows的作者嘲笑顽固坚持用C++开发游戏。      
乘天地之正,而御六气之辩,以游无穷

TOP

代码大全我看过.
C++里面没有 import, 那是方言.
我没有批评C, 相反,我的批评是针对 C 使用者对C++ 的批评,是一种相对的批评.
我一直认为,精通一门主语言,就够了,其他的也都要学.
用什么语言是次要的,我在blog里说过, "设计"决定"代码设计"的道.语言可以忽略.


.      
-----------------------------------------
http://www.darkspy.org/blog

自大的人把宗教当迷信,无知的人把迷信当宗教

TOP

看过一点Ms.net 平台的源代码(开放了代码部分),让人震惊。上层全部是宏。C++够变态了,我要到这种变态程度还得几年,干脆再也不接触C++了。      
乘天地之正,而御六气之辩,以游无穷

TOP

这还变态?你看过 BOOST 就会发现 MS.NET 绝对是小 CASE 了.
C++不是这么用的.
有机会我会写一本关于如何正确使用C++的书.
要看我懒不懒了. -_-

.      
-----------------------------------------
http://www.darkspy.org/blog

自大的人把宗教当迷信,无知的人把迷信当宗教

TOP

发新话题