- 浏览: 37170 次
最新评论
没什么可以多说的,看程序啦~~
只能说,灵活性是C/C++一脉相承的特性,安全隐患也是同样的一脉相承。
相对于其灵活性而言,我觉得,使用从对象到指针的自动转换,应当是不得已而为之的下策
#include <iostream>
#include <cstdlib>
using std::cout;
using std::endl;
class CObject;
typedef const CObject * LPCO;
class CObject
{
private:
int length;
int width;
int lefttop_xpoint;
int lefttop_ypoint;
public:
CObject ( int l, int w, int x, int y );
operator LPCO ( ) const;
void co_print ( LPCO pco ) const;
};
CObject::CObject ( int l, int w, int x, int y )
{
length = l ;
width = w ;
lefttop_xpoint = x ;
lefttop_ypoint = y ;
}
CObject::operator LPCO ( ) const
{
return (CObject *)(this) ;
}
void CObject::co_print ( LPCO pco ) const
{
cout << pco -> width << endl
<< pco -> length << endl
<< pco -> lefttop_xpoint << endl
<< pco -> lefttop_ypoint << endl ;
}
int main ()
{
CObject co (3, 4, 5, 6);
co.co_print ( co ) ;
system("pause");
}
#include <cstdlib>
using std::cout;
using std::endl;
class CObject;
typedef const CObject * LPCO;
class CObject
{
private:
int length;
int width;
int lefttop_xpoint;
int lefttop_ypoint;
public:
CObject ( int l, int w, int x, int y );
operator LPCO ( ) const;
void co_print ( LPCO pco ) const;
};
CObject::CObject ( int l, int w, int x, int y )
{
length = l ;
width = w ;
lefttop_xpoint = x ;
lefttop_ypoint = y ;
}
CObject::operator LPCO ( ) const
{
return (CObject *)(this) ;
}
void CObject::co_print ( LPCO pco ) const
{
cout << pco -> width << endl
<< pco -> length << endl
<< pco -> lefttop_xpoint << endl
<< pco -> lefttop_ypoint << endl ;
}
int main ()
{
CObject co (3, 4, 5, 6);
co.co_print ( co ) ;
system("pause");
}
只能说,灵活性是C/C++一脉相承的特性,安全隐患也是同样的一脉相承。
相对于其灵活性而言,我觉得,使用从对象到指针的自动转换,应当是不得已而为之的下策
发表评论
-
入职第一天
2004-07-12 20:20 554很喧闹的一天新人训。当然,可以说是激情四射,或者说是嘈杂无聊。 ... -
迎接部门训
2004-07-13 18:07 511今天开始迎接部门的专业训了,C#、SQL Server、数据库 ... -
生活的颜色
2004-07-14 18:57 575一个诚实的裁判就这样慷慨赴义了,很多很多黑暗中的裁判们却还好端 ... -
历史的沉思
2004-07-16 12:43 639很久以前的一篇文章, ... -
选择的未来
2004-07-17 15:11 491先提一个问题:做一个技术员,技术能力重要还是业务知识重要?再提 ... -
统一的困惑
2004-07-19 20:45 532RUP(Rational统一过程)的基本开发方式是迭代。需求迭 ... -
开发的效率
2004-07-21 17:44 529面对多人协同开发的分层系统,有两种开发方式:其一、一人负责一到 ... -
模型或模式
2004-07-22 23:27 645不论是吵吵嚷嚷的软件工程、XP建模,还是死灰复燃的MDA、一心 ... -
对象的效率
2004-07-28 21:22 537面向对象带来方便的同时亦带来很多的问题。类的继承在扩展的同时也 ... -
泪写的文章
2004-07-29 20:20 512今天我又哭了。一个月前,我还觉得哭于我是很遥远的事情。甚至,我 ... -
期待的精彩
2004-07-31 11:08 534好久好久没有看到国足这么酣畅的胜利了,好久好久没有体会到看球的 ... -
转载的文章
2004-08-01 10:50 502今天转载一篇吧,记录一段可笑的过往。 别了,Dr.Dobb's ... -
TDD 心得
2004-08-03 16:19 788一直觉得,近年来,真正有意义的技术或者思想只有两个:Refac ... -
近期的任务
2004-08-06 12:54 5781、Test Driven Development2、Java ... -
上海印象一
2004-08-09 22:28 567车一进入上海,扑面而来的就是一片一片的高楼,黑压压地便压了过来 ... -
上海印象二
2004-08-10 21:19 522上海当然是天堂,但也是仅对一部分人一部分地区。对大多数人大部分 ... -
转载的文章
2004-08-13 23:38 453O/R Mapping中的继承~ http://www.cnb ... -
生日的祝福
2004-08-15 10:49 710今天是agate的生日。尽管这句话已经被用得很俗,不过我还是想 ... -
等爱的狐狸
2004-08-27 18:16 567“对我来说,你还只是一个小男孩,就像其他千万个小男孩一样。我不 ... -
飞翔的寓言
2004-08-30 20:58 514我才发现梦想与现实间的差别逆着风让自己体验每一个感觉就像是寓言 ...
相关推荐
对象指针和对象引用作函数的参数 1. 对象指针作函数的参数 使用对象指针作为函数参数要经使用对象作函数参数更普遍一些。因为使用对象指针作函数参数有如下两点好处: (1) 实现传址调用。可在被调用函数中改变...
在编程中,我们可以使用new关键字创建对象指针来实现对象的动态分配和释放,可以避免内存碎片的出现,并且可以提高程序的效率和可靠性。例如,在dialog框类中,我们可以使用new关键字创建对象指针来创建一个非模式...
本教程将深入探讨如何实例化普通对象和指针对象。 一、普通对象实例化 在C++中,我们可以通过在类名后面跟上一对花括号{}来创建一个普通对象。例如,如果我们有一个名为`Person`的类,我们可以这样实例化它: ```...
对象数组、对象指针和this指针 在 C++ 程序设计中,对象数组和对象指针是两个重要的概念,理解它们的使用和特点对于编写高效、可维护的代码非常重要。本文将详细介绍对象数组、对象指针和this指针的概念、特点和...
易语言传递对象指针源码,传递对象指针,test,DLL_对象复制,DLL_对象释放,DLL_对象取指针
在编程领域,尤其是在C++这样的面向对象编程语言中,类对象和类指针是两种不同的方式来访问和操作类的成员。本篇文章将详细探讨这两种方法,并通过一个简单的小例子来阐述它们的区别和应用场景。 首先,我们要理解...
函数指针和函数对象 函数指针(全局函数/类成员函数)和函数对象是C++语言中两个重要的概念,经常被混淆和误解。本文将详细介绍函数指针和函数对象的定义、类型、使用方法和区别。 一、函数指针 函数指针是指向...
C++数组与指针对象数组对象指针C++数组与指针对象数组对象指针
在易语言中,“取类对象指针”是一个关键的概念,涉及到面向对象编程中的对象实例化和操作。本篇文章将深入探讨这一主题,并通过源码分析来解释其工作原理。 首先,我们需要理解什么是类和对象。在面向对象编程中,...
这涉及到易语言与DLL之间的接口设计,以及如何正确地传递和接收对象指针。 四、“取文本”与“置文本” "取文本"和"置文本"通常是处理字符串操作的函数。在易语言中,"取文本"可能用于获取某个对象(如字符串对象...
通过对象指针,可以更加灵活地控制对象的访问方式,这对于实现复杂的数据结构(如链表、树等)以及提高代码的灵活性和效率具有重要意义。 #### 核心知识点解析 **知识点一:对象的创建与初始化** 在给定的示例中...
易语言是一种专为中国人设计的编程语言,它以简体中文作为编程语句,使得编程更加亲民。...同时,理解指针传递对象也对理解和掌握其他编程语言中的类似概念有所帮助,如C++的对象指针或Java的引用来传递对象。
首先,理解C++中的指针和对象的关系至关重要。一个对象指针可以指向一个具体的对象实例,当该指针为NULL或nullptr时,它不指向任何实际对象。在传统情况下,尝试通过空指针调用成员函数会导致程序崩溃,因为没有实际...
- 指向对象成员的指针则分为两种:指向数据成员的指针和指向成员函数的指针。前者用于指向类的特定数据成员,定义格式为:`<类型> <类名>::* <指针名> = <初值>`;后者用于指向类的特定成员函数,定义格式为:`...
这个程序所包含的是,籍由故意设计而成的TInterfacedObject和TMyInterfacedObject2个类,得到4个实例对象,4个接口指针,并且演示了在编译器实现过程中,对象模型的空间状态,接口指针,接口方法表格种种复杂的关系...
此函数可以在主框架类和子框架类中使用,以获取活动视图对象指针。示例代码如下: ```c CDrawView *pView = (CDrawView *)GetActiveView(); ``` 五、获取父框架对象指针 可以使用 GetParentFrame() 函数来获取父...
对象指针 = 取对象指针(对象) ``` 这里的`.对象指针`是存储类指针的变量,而`对象`则是我们想要获取指针的对象实例。例如: ```易语言 .窗口 = 创建窗口("我的窗口", 200, 300) .窗口指针 = 取对象指针(.窗口) ```...
成员函数指针是C++中一个独特且强大的特性,它允许我们存储和传递类的成员函数,以便在...然而,需要注意的是,使用成员函数指针往往比使用其他面向对象的设计模式更复杂,因此在选择使用它们时应谨慎评估需求和权衡。