代码改变世界

Visual C++ 2011-5-6

  Clingingboy  阅读(506)  评论(0编辑  收藏  举报

一.C++友元

1.友元函数

#include <iostream>

using namespace std;
class Point
{
    friend void ChangePrivate( Point & );
public:
    Point( void ) : m_i(0) {}
    void PrintPrivate( void ){cout << m_i << endl; }

private:
    int m_i;
};

void ChangePrivate ( Point &i ) { i.m_i++; }

int main()
{
    Point sPoint;
    sPoint.PrintPrivate();
    ChangePrivate(sPoint);
    sPoint.PrintPrivate();
}

2.友元类

#include <iostream>

using namespace std;
class YourClass {
    friend class YourOtherClass;  // Declare a friend class
public:
    YourClass() : topSecret(0){}
    void printMember() { cout << topSecret << endl; }
private:
    int topSecret;
};

class YourOtherClass {
public:
    void change( YourClass& yc, int x ){yc.topSecret = x;}
};

int main() {
    YourClass yc1;
    YourOtherClass yoc1;
    yc1.printMember();
    yoc1.change( yc1, 5 );
    yc1.printMember();
}

二.C++局部类和嵌套类

http://www.cppblog.com/mzty/archive/2007/05/24/24766.html

三.operator new

参见这篇文章的内部链接

http://www.cppblog.com/Solstice/archive/2011/02/22/140410.html

http://www.cppblog.com/woaidongmao/archive/2010/06/29/118940.html

四.前置声明和头文件

http://blog.csdn.net/fallStones/archive/2011/03/22/6266632.aspx

五.匿名命名空间

http://blog.sina.com.cn/s/blog_48a4b1680100gdul.html

六.函数指针回调方法

犹如c#的委托

#include <string>
#include <iostream>
using namespace std;

typedef void (*action)(const string &);

void SayHello(const string &name)
{
 cout << "hello,"+name <<endl;
}

int main() 
{
action pf2 = SayHello;
pf2(string("terry"));

return 0;
}

参考:C++ Primer  7.9 指向函数的指针

http://wenku.baidu.com/view/b2b24d37ee06eff9aef80771.html

七.关于c++ 枚举

http://wenku.baidu.com/view/8c28fd4de518964bcf847cce.html

很不习惯,不可以重复,其实就是static常量

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2007-05-09 [转]强悍!情书居然能写得如此专业
2006-05-09 学习Professional ASP.NET 2.0(三)
点击右上角即可分享
微信分享提示