It looks like you need to call the __init__ of the parent class:
class ConvNet(nn.Module):
    def __init__(self, body, C):
        super(ConvNet, self).__init__()
        self.body = ...

As a small side note, if you want to use the pretrained model as a fixed feature extractor, the usual way would be to replace the last linear layer with your own instead of stacking it on top of the logits. But maybe that’s exactly your use case.