相关疑难解决方法(0)

最终C++书籍指南和列表

这个问题试图收集每年出版的数十本不良C++书籍中的少数珍珠.

与许多其他编程语言不同,这些编程语言经常从互联网上的教程中随处获取,很少有人能够快速学习C++,而无需学习编写精良的C++书籍.这样做太复杂了.事实上,它是如此庞大和复杂,有很多非常糟糕的C++书籍.我们并不是在谈论糟糕的风格,而是体育明显的事实错误促进糟糕的编程风格.

请编辑接受的答案,以提供高质量的书籍和近似的技能水平 - 最好 C++聊天室讨论您的添加.(如果他们不同意建议,常客可能会毫不留情地撤销你的工作.)添加一篇关于你亲自阅读/受益的每本书的简短描述/描述.随意讨论质量,标题等.符合标准的书籍将被添加到列表中.由C和C++用户协会(ACCU)撰写评论的图书都有指向评论的链接.

*注意:常见问题和其他资源可以在C++标签信息.

c++ c++-faq

4246
推荐指数
1
解决办法
224万
查看次数

在C++中创建只读(公共)类成员

我来自ActionScript 3等语言的背景,我们有一种特殊的方法可以将成员变量定义为实例和设置/获取受保护或私有成员值的方法.让我举个例子:

在课堂上,我们可以这样说:

private var _myString:String;

public get myString():String 
{
    return _myString;
}

public set myString(newValue:String):void
{
    //Do some super secret member protection n' stuff
    _myString = newValue;
}
Run Code Online (Sandbox Code Playgroud)

然后在该对象之外我可以执行以下操作:

trace(myClass.myString); //Output whatever _myString is. (note the lack of (). It's being accessed like property not a method...
Run Code Online (Sandbox Code Playgroud)

更进一步,我可以做一些像删除"public set myString"方法的东西,所以如果有人试图用我的类做这个:

myClass.myString = "Something"; //Try to assign - again note the lack of ()
Run Code Online (Sandbox Code Playgroud)

它会抛出一个错误,让用户知道该属性是以只读方式提供的.

既然我使用C++并且它比Actionscript 3更加出色,我想知道如何模仿这种行为.我不想使用一堆脏getVariable()setVariable()方法.我希望通过一些操作符重载技巧我可以在这里完全相同的事情.注意我是菜鸟,所以请你这样说.:)

更新 我想最简单的解释方法是,我试图基本上有getter和setter但是通过赋值调用它们而不是用括号()来调用它们.

c++ reflection getter-setter

4
推荐指数
1
解决办法
6147
查看次数

标签 统计

c++ ×2

c++-faq ×1

getter-setter ×1

reflection ×1