谁给我讲讲": :"和"->"还有" . "啊??

neek2000 2002-05-28 02:42:43
仔细讲讲,讲者有分!
...全文
31 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
scxy 2002-05-28
  • 打赏
  • 举报
回复
::表示一个作用域
->是定义指针后调用方法或取的public属性
.同上只是定义的是一个实例
freelybird 2002-05-28
  • 打赏
  • 举报
回复
首先回答你的问题. ::Send..()是表示全局作用域,即不是某个类或结构
中定义的Send(...).而是全局函数的Send(..)

其实上面几位已经总结了.我再简单归纳一下
(1) ::表示作用域. 在面向对象编程中,有class这个概念,可以允许你自己抽象数据
类型. 因此函数并不只是象原来C中那样全部是全局的了. 它还有类或结构中的函数.
在调用这些函数时,有两种方式:动态束定与静态束定
::表示静态束定. 即用这个符号完全去确定被调用的函数. 如CMyclass::test()
如果在::前面没有类名.则为全局作用域(全局函数).
(2) -> 与 . 实际上与C中的作用及意义完全一样. 前者表示指针,后者对象. 有一点
请记住. 这样去调用函数一定是有了实例以后才可以去.
kenvin 2002-05-28
  • 打赏
  • 举报
回复
1, ::这个是类的函数调用, ::它的前面是类名,后面接的是函数名。前面可以缺省的,默认为当前类。
2,.和->的调用是相类似的,一个为普通的对象调用,一个是指针的调用。当然了,它们都得实现定义好的。
  • 打赏
  • 举报
回复
这个意思是直接调用windows的API函数。
neek2000 2002-05-28
  • 打赏
  • 举报
回复
::Send..()

前面什么都没有,怎么理解??
mahongtao 2002-05-28
  • 打赏
  • 举报
回复
1,::应该是调用类的函数
2,3,
->和.都一样都是调用类的成员函数和变量,不同的地方就是看是不是类指针了
突击召唤师 2002-05-28
  • 打赏
  • 举报
回复
直接写::就是调用全局的变量或者函数,例如API
neek2000 2002-05-28
  • 打赏
  • 举报
回复
::Send...()

这该怎么理解,前面什么都没有……
突击召唤师 2002-05-28
  • 打赏
  • 举报
回复
::是作用域操作符,类似于名字空间。比如你在类A里定义了函数a,那么a地实现部分就写成 type A::a(type),如果你的A里定义了public类B,那么生成B的实例就写成 A::B b;如果你的A里定义了静态成员函数C,C的调用就是A::C()

->和.的作用就是调用一个实例的成员变量或函数。不同的是,->针对指针,.针对实例,例如:
A a1;
A a2 = new A;
a1.a();
a2->a();
  • 打赏
  • 举报
回复
1。::的意思是直接调用API函数。
2。一般你定义一个类的指针,通过这个指针调用类里面的成员函数,或者是成员变量使用-〉。
3。.是对象用来调用他类里面的成员函数和成员变量的。
不知道我说的对不对!!!
morningsing 2002-05-28
  • 打赏
  • 举报
回复
举个例子把,
Class c
{
int m_c;
static void f();
}

//in .cpp
c Myc;
c* pc;

c.m_c = ...
pc->m_c = ...
c::f();

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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