Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/150.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;类格式化 这是否被公认为C++类的适当格式化?在学习类的同时,我看到了很多不同的编码格式。我只是想知道做这件事的标准或“正常”方式是什么 class Circle { private: double radius; public: Circle() { radius = 0.0; } Circle(double r) { radius = r; } // MEMBER void setRadius(double r) { radius = r; } double getArea() { return 3.14159 * radius * radius; } };_C++_Class_Format - Fatal编程技术网

C++;类格式化 这是否被公认为C++类的适当格式化?在学习类的同时,我看到了很多不同的编码格式。我只是想知道做这件事的标准或“正常”方式是什么 class Circle { private: double radius; public: Circle() { radius = 0.0; } Circle(double r) { radius = r; } // MEMBER void setRadius(double r) { radius = r; } double getArea() { return 3.14159 * radius * radius; } };

C++;类格式化 这是否被公认为C++类的适当格式化?在学习类的同时,我看到了很多不同的编码格式。我只是想知道做这件事的标准或“正常”方式是什么 class Circle { private: double radius; public: Circle() { radius = 0.0; } Circle(double r) { radius = r; } // MEMBER void setRadius(double r) { radius = r; } double getArea() { return 3.14159 * radius * radius; } };,c++,class,format,C++,Class,Format,我通常会将成员放在底部: class Circle { public: Circle() { radius = 0.0; } Circle(double r) { radius = r; } void setRadius(double r) { radius = r; } double getArea() { return 3.14159 * radius * radius; } private: double r

我通常会将成员放在底部:

class Circle {
public:
  Circle() {
    radius = 0.0;
  }

  Circle(double r) {
    radius = r;   
  }

  void setRadius(double r) {
    radius = r;
  }

  double getArea() {
    return 3.14159 * radius * radius;
  }

private:
  double radius;
};

没有普遍首选的格式,但您显示的可能是 最广泛接受的。只有一个例外:它通常被认为是
将函数实现放在类定义中的形式不好。

这是一个品味和一致性的问题。您可以通过多种方式格式化,不仅可以格式化类,还可以格式化代码的所有部分。重要的是,代码对参与项目的任何人都是可读的,并且遵循团队/工作场所/任何地方的基本准则。

没有标准或格式

如果你是一个人工作,做些什么让你自己更容易阅读——当然,如果你看到别人的代码并说“嘿,那看起来更容易阅读”,那么你可以自由地将他们的编码习惯融入你自己的代码中

如果你在团队中工作,最好遵循团队一般规定的一些指导方针,以免你在C++中花费超过一千年的高级程序员的愤怒,并且显然在他最后到期时,在上帝的右手边有一个位置为他保留。撇开玩笑不谈,如果一个团队遵循指导原则,事情会变得容易得多

这是我个人的偏好,希望我不会因为偏好而得票:

template<class T>   // template declaration if required
class myAwesomeClass
{
public:
    /*
     * Static stuff that is public goes here, oh and any type-definitions that are
     * also externally viewable
     */

private:

     /*
      * All my secret stuff
      */

protected:

     /*
      * My descendants can be decadent with this stuff, may they revel in the power
      */

public:
     /*
      * The rest of you guys get this
      */
}   // eo class myAwesomeclass, comment to determine the end of the definition
    // this can be useful if things are big!
模板//模板声明(如果需要)
类myAwesomeClass
{
公众:
/*
*这里有公共的静态内容,哦,还有任何类型定义
*也可从外部查看
*/
私人:
/*
*我所有的秘密
*/
受保护的:
/*
*我的后代可能会因为这些东西而颓废,愿他们陶醉于权力之中
*/
公众:
/*
*你们其他人明白了吗
*/
}//eo类myAwesomeclass,注释以确定定义的结尾
//如果事情很大,这可能很有用!

<0>代码> > p>默认情况下,在您的第一个<代码> { <代码> >之后,类是私有的:<代码> > />代码>是多余的。我所见过的格式对我来说是最合理的,是代码> >公共: >保护: >代码>私有:访问指定顺序。

在C++中没有一种标准的代码格式方法。(或在大多数其他语言中,对于这一点)。有很多方式来格式化C++代码;唯一重要的规则是(a)确保代码是可读的,(b)确保您的格式一致。而且它必须与您正在使用的代码库的其余部分相匹配,无论多么愚蠢。如果它编译正确,那么它的形式基本上是正确的。大多数地方(但肯定不是所有地方)也会将类和函数定义的开始括号放在单独的一行上(正如他所做的,但您没有).+1,但如果您正在编写模板类,则必须将它们放在其中。@Moo Juice,您仍然可以在类之外执行模板成员函数,只需重复整个模板名称,这有点烦人。但我经常这样做,尤其是对于非模板类中的模板成员函数。