美文网首页
pybind11面向对象编程

pybind11面向对象编程

作者: JeremyL | 来源:发表于2022-04-15 13:27 被阅读0次

# c++ 代码
#examplePet.cpp

#include <pybind11/pybind11.h>
namespace py = pybind11;

struct Pet {
    Pet(const std::string &name) : name(name) { }
    void setName(const std::string &name_) { name = name_; }
    const std::string &getName() const { return name; }

    std::string name;
};

PYBIND11_MODULE(examplePet, m) {
    py::class_<Pet>(m, "Pet")
        .def(py::init<const std::string &>())//对应c++类构造函数
        .def("setName", &Pet::setName)
        .def("getName", &Pet::getName);
}

# 编译

g++ -O3 -Wall -shared -std=c++11 -undefined dynamic_lookup $(python3 -m pybind11 --includes) examplePet.cpp -o examplePet$(python3-config --extension-suffix)

# 使用

>>> import examplePet
>>> p = examplePet.Pet("Molly")
>>> print(p)
>>> p.getName()
'Molly'
>>> p.setName("Charly")
>>> p.getName()
'Charly'

参考:
Object-oriented code

系列文章:
pybind11入门python调用c++
pybind11面向对象编程

相关文章

  • pybind11面向对象编程

    # c++ 代码#examplePet.cpp # 编译 # 使用 参考:Object-oriented code...

  • 面向对象_初识

    目录 面向对象编程介绍 类与对象介绍 私有属性与私有方法 面向对象编程 1. 面向对象编程介绍 面向对象编程:Ob...

  • 谈谈面向对象编程

    何为面向对象编程 面向对象编程简介 面向对象编程(Object-oriented Programming,缩写:O...

  • 面向对象基础

    面向对象编程包括: 面向对象的分析(OOA) 面向对象的设计(OOD) 面向对象的编程实现(OOP) 面向对象思想...

  • python-day14

    一、面向对象编程 编程思想:1.面向对象编程 --> 算法,逻辑2.函数式编程 --> 函数3.面向对象编程 ...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • PHP全栈学习笔记8

    面向对象的基本概念,面向对象编程,oop,面向对象,面向对象的分析,面向对象的设计,面向对象的编程,什么是类。 类...

  • 面向对象浅析

    ### 面向对象编程和面向对象编程语言 面向对象编程的英文缩写是 OOP,全称是 Object Oriented ...

  • 2017-08-14

    面向对象编程用对象的思想去写代码,就是面向对象编程-面向过程-面向对象面向对象编程的特点1.抽象 抽取一样的东西...

  • 面向对象编程,类和对象

    面向对象编程 Java是面向对象的一门编程语言,所以余姚使用者具备面向对象编程的思想。 那么,什么是面向对象编程呢...

网友评论

      本文标题:pybind11面向对象编程

      本文链接:https://www.haomeiwen.com/subject/kxzfertx.html