小编Dhy*_*eyL的帖子

通过构造函数创建的所有对象都具有相同的向量

我是 C++ 的新手,我正在尝试创建一个基本的遗传算法。我创建了一个 Chromosome 类,并想创建一个 Society 类,该类生成这些染色体的向量,其中包含随机生成的“基因”。基因是染色体中的向量,其值为 0 或 1。我正在测试染色体构造函数,所有对象都具有相同的基因向量。如何让构造函数生成随机值?我在下面包含了代码。任何其他编码实践或优化技巧也将不胜感激。

源文件

#include "Chromosome.h"
#include "Society.h"

using namespace std;

int main()
{
    Chromosome demo = Chromosome::Chromosome();
    Chromosome demo2 = Chromosome::Chromosome();
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

染色体.h

#pragma once
#include <vector>
using namespace std;

class Chromosome
{
private:
    int fitness;
    vector<int> genes;

public:
    Chromosome();

    void generateGenes();

    int calculateFitness(),
        getFitness();

    vector<int> getGenes();
    void setGenes(vector<int> child);
};
Run Code Online (Sandbox Code Playgroud)

染色体.cpp

#include "Chromosome.h"
#include <cstdlib>
#include <ctime> 
#include <numeric>
using namespace std;

Chromosome::Chromosome()
{
    generateGenes();
    Chromosome::fitness = calculateFitness();
} …
Run Code Online (Sandbox Code Playgroud)

c++ oop genetic-algorithm

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

标签 统计

c++ ×1

genetic-algorithm ×1

oop ×1